{"id":"CVE-2026-70603","aliases":["GHSA-5c9j-mhmv-5xgx"],"url":"https://o3.security/vulnerability/CVE-2026-70603","summary":"Electron: shell.openPath path validation bypass via embedded null byte","details":"Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.6, 40.9.0, 41.1.1, and 42.0.0-beta.1, shell.openPath() did not reject paths containing embedded null bytes. Apps that perform string-only validation of file paths, for example checking the file extension, before passing them to shell.openPath() could be bypassed, allowing an attacker-controlled path to open a different file than the one that passed validation. Apps are only affected if they pass paths derived from untrusted input to shell.openPath() and rely on string-based validation without a filesystem check. This issue is fixed in versions 39.8.6, 40.9.0, 41.1.1, and 42.0.0-beta.1.","published":"2026-08-05T15:56:50.574Z","modified":"2026-09-10T03:30:50.953391281Z","cvss":{"score":6,"severity":"MEDIUM","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N"},"epss":{"score":0.001,"percentile":0.00991,"asOf":"2026-08-16"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"electron","fixedVersion":"42.0.0-beta.1"},{"ecosystem":"npm","name":"electron","fixedVersion":"41.1.1"},{"ecosystem":"npm","name":"electron","fixedVersion":"40.9.0"},{"ecosystem":"npm","name":"electron","fixedVersion":"39.8.6"}],"fix":null,"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/70xxx/CVE-2026-70603.json"},{"type":"ADVISORY","url":"https://github.com/electron/electron/security/advisories/GHSA-5c9j-mhmv-5xgx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-70603"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-10T03:30:50.953391281Z"}}