Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.0, and 41.0.0-beta.8, on Windows, app.setLoginItemSettings({openAtLogin: true}) wrote the executable path to the Run registry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app.
On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.0, and 41.0.0-beta.8.
Attack Parameters
Impact Assessment
CVSS Vector v3.1
Weakness Type (CWE)
Vulnerable Products 16
| Configuration | From (including) | Up to (excluding) |
|---|---|---|
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*
|
— |
38.8.6
|
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*
|
39.0.0
|
39.8.1
|
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*
|
40.0.0
|
40.8.0
|
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:alpha1:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:alpha2:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:alpha3:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:alpha4:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:alpha5:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:alpha6:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta1:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta2:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta3:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta4:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta5:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta6:*:*:*:node.js:*:*
|
— | — |
|
Electronjs Electron
cpe:2.3:a:electronjs:electron:41.0.0:beta7:*:*:*:node.js:*:*
|
— | — |