Electron Vulnerable to Code Execution by Re-Enabling Node.js Integration
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.
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();
})
})
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka npm | electron | >= 1.7.0, < 1.7.13, >= 1.8.0, < 1.8.4, >= 2.0.0-beta.1, < 2.0.0-beta.5 | 1.7.13, 1.8.4, 2.0.0-beta.5 |
Odnośniki
- https://nvd.nist.gov/vuln/detail/CVE-2018-1000136
- https://github.com/electron/electron/pull/12271
- https://github.com/electron/electron/pull/12292
- https://github.com/electron/electron/pull/12294
- https://github.com/electron/electron/commit/1a48ee28276e6588dbf4e70e58d78e7bfdc57043
- https://electronjs.org/blog/webview-fix
- https://github.com/electron/electron
- https://www.electronjs.org/blog/webview-fix
- https://www.npmjs.com/advisories/574
- https://www.trustwave.com/Resources/SpiderLabs-Blog/CVE-2018-1000136---Electron-nodeIntegration-Bypass
- Wektor CVSS
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H- Słabość (CWE)
CWE-20- Platforma
- npm
- Paczka
electron- Ujawniono
- 26.03.2018
- Aktualizacja
- 11.10.2026 10:22
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-8xwg-wv7v-4vqp - CC BY 4.0
Historia podatności: electron
Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
- Wszystkich wpisów
- 71
- Pierwsza → ostatnia
- 10.2017 09.2026
- Bez poprawki
- 0
- Wykorzystywana w atakach
- 3
Rozkład istotności
- Krytyczna 3
- Wysoka 26
- Średnia 32
- Niska 10
Ujawnienia w latach
- 2017: 1
- 2018: 5
- 2019: 0
- 2020: 6
- 2021: 2
- 2022: 7
- 2023: 6
- 2024: 0
- 2025: 3
- 2026: 41
-
Electron Vulnerable to Code Execution by Re-Enabling Node.js Integration ten wpis
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.