Описание
Remote Code Execution in electron
Affected versions of electron may be susceptible to a remote code execution flaw when certain conditions are met:
- The electron application is running on Windows.
- The electron application registers as the default handler for a protocol, such as
nodeapp://.
This vulnerability is caused by a failure to sanitize additional arguments to chromium in the command line handler for Electron.
MacOS and Linux are not vulnerable.
Recommendation
Update electron to a version that is not vulnerable. If updating is not possible, the electron team has provided the following guidance:
If for some reason you are unable to upgrade your Electron version, you can append -- as the last argument when calling app.setAsDefaultProtocolClient, which prevents Chromium from parsing further options. The double dash -- signifies the end of command options, after which only positional parameters are accepted.
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2018-1000006
- https://electronjs.org/blog/protocol-handler-fix
- https://github.com/advisories/GHSA-w222-53c6-c86p
- https://github.com/electron/electron/releases/tag/v1.8.2-beta.4
- https://medium.com/@Wflki/exploiting-electron-rce-in-exodus-wallet-d9e6db13c374
- https://www.exploit-db.com/exploits/43899
- https://www.exploit-db.com/exploits/44357
- https://www.npmjs.com/advisories/563
- http://www.securityfocus.com/bid/102796
Пакеты
electron
>= 1.7.0, < 1.7.11
1.7.11
electron
>= 1.6.0, < 1.6.16
1.6.16
electron
>= 1.8.0, <= 1.8.2-beta.3
1.8.2-beta.4
Связанные уязвимости
GitHub Electron versions 1.8.2-beta.3 and earlier, 1.7.10 and earlier, 1.6.15 and earlier has a vulnerability in the protocol handler, specifically Electron apps running on Windows 10, 7 or 2008 that register custom protocol handlers can be tricked in arbitrary command execution if the user clicks on a specially crafted URL. This has been fixed in versions 1.8.2-beta.4, 1.7.11, and 1.6.16.
GitHub Electron versions 1.8.2-beta.3 and earlier, 1.7.10 and earlier, ...