Skip to content
This repository was archived by the owner on Dec 11, 2019. It is now read-only.

Chromium54 brave password causes crashes on for instance hacker news #6099

Closed
posix4e opened this issue Dec 8, 2016 · 10 comments
Closed

Chromium54 brave password causes crashes on for instance hacker news #6099

posix4e opened this issue Dec 8, 2016 · 10 comments

Comments

@posix4e
Copy link
Contributor

posix4e commented Dec 8, 2016

I can't seem to save in my local brave password store

An uncaught exception occurred in the main process Uncaught Exception:
Error: Unknown cipher
    at new Cipheriv (crypto.js:191:16)
    at Object.Cipheriv (crypto.js:189:12)
    at Object.module.exports.encryptAuthenticateInternal (/usr/share/brave/resources/app.asar/js/lib/cryptoUtil.js:81:23)
    at Object.module.exports.encryptAuthenticate (/usr/share/brave/resources/app.asar/js/lib/cryptoUtil.js:21:34)
    at Object.passwordCallbacks.(anonymous function) (/usr/share/brave/resources/app.asar/app/index.js:696:38)
    at EventEmitter.ipcMain.on (/usr/share/brave/resources/app.asar/app/index.js:710:35)
    at emitMany (events.js:132:20)
    at EventEmitter.emit (events.js:201:7)
    at WebContents.<anonymous> (/usr/share/brave/resources/electron.asar/browser/api/web-contents.js:172:13)
    at emitTwo (events.js:106:13)
    at WebContents.emit (events.js:191:7)
/usr/share/brave/resources/app.asar/node_modules/node-anonize2-relic-emscripten/anonize2.js:18
if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&
[ ] Not implemented reached in static bool blink::PlatformKeyboardEvent::currentCapsLockState()
[ ] 
 ``` [5453:5453:1208/095056:ERROR:CONSOLE(219)] "Uncaught Error: Could not call remote function 'isFocused'. Check that the function signature is correct. Underlying error: Object has been destroyed
Error: Could not call remote function 'isFocused'. Check that the function signature is correct. Underlying error: Object has been destroyed
    at callFunction (/usr/share/brave/resources/electron.asar/browser/rpc-server.js:226:11)
    at EventEmitter.<anonymous> (/usr/share/brave/resources/electron.asar/browser/rpc-server.js:319:5)
    at emitMany (events.js:127:13)
    at EventEmitter.emit (events.js:201:7)&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKE

Error: Unknown cipher
    at new Cipheriv (crypto.js:191:16)
    at Object.Cipheriv (crypto.js:189:12)
    at Object.module.exports.encryptAuthenticateInternal (/usr/share/brave/resources/app.asar/js/lib/cryptoUtil.js:81:23)
    at Object.module.exports.encryptAuthenticate (/usr/share/brave/resources/app.asar/js/lib/cryptoUtil.js:21:34)
    at Object.passwordCallbacks.(anonymous function) (/usr/share/brave/resources/app.asar/app/index.js:696:38)
    at EventEmitter.ipcMain.on (/usr/share/brave/resources/app.asar/app/index.js:710:35)
    at emitMany (events.js:132:20)
    at EventEmitter.emit (events.js:201:7)
    at WebContents.<anonymous> (/usr/share/brave/resources/electron.asar/browser/api/web-contents.js:172:13)
    at emitTwo (events.js:106:13)
    at WebContents.emit (events.js:191:7)

Test Plan:

  1. Set built-in password manager
  2. Go to https://github.com/login
  3. Type username and password then submit
  4. Choose save password for this site shouldn't crash
@posix4e posix4e added this to the 0.13.0 milestone Dec 8, 2016
@posix4e
Copy link
Contributor Author

posix4e commented Dec 8, 2016

Is this bad enough to block?

@bsclifton
Copy link
Member

Absolutely- this is a problem

@diracdeltas
Copy link
Member

@posix4e i think this is because your version of openssl doesn't support AES-GCM. what version are you running?

@diracdeltas
Copy link
Member

@posix4e nvm the above, @bridiver informed me that chromium54 uses boringssl only

@diracdeltas
Copy link
Member

diracdeltas commented Dec 9, 2016

i can repro this now. appears that node crypto's crypto.createCipheriv throws Error: Unknown cipher for algorithm 'aes-256-gcm' even though it should be supported in boringssl

@bridiver
Copy link
Collaborator

we can switch back to openssl if we need to. The original reason for switching to boringssl no longer exists

@darkdh darkdh self-assigned this Dec 10, 2016
@diracdeltas
Copy link
Member

@bridiver boringssl is more secure than openssl but OTOH it is not guaranteed to be stable for non-Google projects. https://www.imperialviolet.org/2014/06/20/boringssl.html

darkdh added a commit to darkdh/electron that referenced this issue Dec 10, 2016
@darkdh darkdh closed this as completed Dec 15, 2016
@posix4e
Copy link
Contributor Author

posix4e commented Dec 17, 2016 via email

@luixxiul
Copy link
Contributor

Test plan is available on the 1st post: #6099 (comment)

@bsclifton
Copy link
Member

added release-notes/exclude; this was intro'd with C54

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants