CVE-2023-23623 json
Content-Secrity-Policy disabling eval not applied consistently in renderers with sandbox disabled in Electron
published 2023-09-06 3 y ago modified 2026-06-17 4 mo ago also GHSA-gxh7-wv9q-fwfr , EUVD-2023-2513
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
Electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS. A Content-Security-Policy that disables eval, specifically setting a `script-src` directive and _not_ providing `unsafe-eval` in that directive, is not respected in renderers that have sandbox disabled. i.e. `sandbox: false` in the `webPreferences` object. This allows usage of methods like `eval()` and `new Function` unexpectedly which can result in an expanded attack surface. This issue only ever affected the 22 and 23 major versions of Electron and has been fixed in the latest versions of those release lines. Specifically, these versions contain the fixes: 22.0.1 and 23.0.0-alpha.2 We recommend all apps upgrade to the latest stable version of Electron. If upgrading isn't possible, this issue can be addressed without upgrading by enabling `sandbox: true` on all renderers.
Patch / fix
- npm electron 22.0.1, 23.0.0-alpha.2
- atom electron 22.0.1, 23.0.0_alpha.2
- nodejs-electron openSUSE Tumbleweed 22.3.6-1.1
opensuse advisories openSUSE-SU-2024:12869-1
- github.com/electron/electron@9e7fbc7 commit
- github.com/electron/electron#36667 pull request
- github.com/electron/electron#36668 pull request
- github.com/electron/electron/releases/tag/v22.0.1 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 2 y ago
Exploit prediction
0.66% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | electron | >=22.0.0-beta.1, <22.0.1 >=23.0.0-alpha.1, <23.0.0-alpha.2 |
22.0.1 23.0.0-alpha.2 |
Affected products
- electron electron
- atom electron
Classification
- Weakness
-
- CWE-670 Always-Incorrect Control Flow Implementation
References
-
github.com
/electron/electron/pull/36667
web
-
github.com
/electron/electron/pull/36668
web
-
github.com
/electron/electron/commit/9e7fbc7021d8d716c43782249a552e55289c35db
web
-
github.com
/electron/electron/security/advisories/GHSA-gxh7-wv9q-fwfr
web, mitigation, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2023-23623
advisory
-
github.com
/electron/electron
package
-
github.com
/electron/electron/releases/tag/v22.0.1
web
Sources
- CVE List CVE-2023-23623
- GitHub Advisory GHSA-gxh7-wv9q-fwfr
- NVD CVE-2023-23623
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.