GHSA-8xwg-wv7v-4vqp
Electron Vulnerable to Code Execution by Re-Enabling Node.js Integration
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2018-1000136
- CVSS_V3
- CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
A vulnerability has been discovered which allows Node.js integration to be re-enabled in some Electron applications that disable it. For the application to be impacted by this vulnerability it must meet all of these conditions - Runs on Electron 1.7, 1.8, or a 2.0.0-beta - Allows execution of arbitrary remote code - Disables Node.js integration - Does not explicitly declare webviewTag: false in its webPreferences - Does not enable the nativeWindowOption option - Does not intercept new-window events and manually override event.newGuest without using the supplied options tag ## Recommendation Update to `electron` version 1.7.13, 1.8.4, or 2.0.0-beta.5 or later. If you are unable to update your Electron version can mitigate the vulnerability with the following code. ```js app.on('web-contents-created', (event, win) => { win.on('new-window', (event, newURL, frameName, disposition, options, additionalFeatures) => { if (!options.webPreferences) options.webPreferences = {}; options.webPreferences.nodeIntegration = false; options.webPreferences.nodeIntegrationInWorker = false; options.webPreferences.webviewTag = false; delete options.webPreferences.preload; }) }) // and *IF* you don't use WebViews at all, // you might also want app.on('web-contents-created', (event, win) => { win.on('will-attach-webview', (event, webPreferences, params) => { event.preventDefault(); }) }) ```
Paquets affectés
| Paquet | Versions |
|---|---|
| npm · electron | introduced 1.7.0, fixed 1.7.13 |
| npm · electron | introduced 1.8.0, fixed 1.8.4 |
| npm · electron | introduced 2.0.0-beta.1, fixed 2.0.0-beta.5 |
Références
- https://nvd.nist.gov/vuln/detail/CVE-2018-1000136 ADVISORY
- https://github.com/electron/electron/pull/12271 WEB
- https://github.com/electron/electron/pull/12292 WEB
- https://github.com/electron/electron/pull/12294 WEB
- https://github.com/electron/electron/commit/1a48ee28276e6588dbf4e70e58d78e7bfdc57043 WEB
- https://electronjs.org/blog/webview-fix WEB
- https://github.com/electron/electron PACKAGE
- https://www.electronjs.org/blog/webview-fix WEB
- https://www.npmjs.com/advisories/574 WEB
- https://www.trustwave.com/Resources/SpiderLabs-Blog/CVE-2018-1000136---Electron-nodeIntegration-Bypass WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |