CVE-2026-70603
Full vulnerability record from the local CVENow database.
Description
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.
View original CVE JSON
{
"id": "CVE-2026-70603",
"sourceIdentifier": "[email protected]",
"published": "2026-08-05T16:17:04.470",
"lastModified": "2026-11-03T23:17:53.147",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "electron",
"product": "electron",
"versions": [
{
"version": "< 39.8.6",
"status": "affected"
},
{
"version": ">= 40.0.0-alpha.1, < 40.9.0",
"status": "affected"
},
{
"version": ">= 41.0.0-alpha.1, < 41.1.1",
"status": "affected"
},
{
"version": ">= 42.0.0-alpha.1, < 42.0.0-beta.1",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N",
"baseScore": 6.0,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "HIGH",
"privilegesRequired": "LOW",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 0.8,
"impactScore": 5.2
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-06T03:55:28.551971Z",
"id": "CVE-2026-70603",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-20"
},
{
"lang": "en",
"value": "CWE-158"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
"versionEndExcluding": "39.8.6",
"matchCriteriaId": "1FC99B08-2972-4B17-A0E9-C8B36881780E"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
"versionStartIncluding": "40.0.0",
"versionEndExcluding": "40.9.0",
"matchCriteriaId": "56E4CE6E-6A00-4DF6-A720-141D67D4CA2D"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
"versionStartIncluding": "41.0.0",
"versionEndExcluding": "41.1.1",
"matchCriteriaId": "B5945DA5-8081-4226-8699-AF3903D92F53"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha1:*:*:*:node.js:*:*",
"matchCriteriaId": "498062D8-5C83-4FC2-A04B-94F3228B2BED"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha2:*:*:*:node.js:*:*",
"matchCriteriaId": "A272F9F4-AB62-407C-B1A8-18586A474C19"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha3:*:*:*:node.js:*:*",
"matchCriteriaId": "BF49E260-9653-4D26-8B6C-C6FAFE697F5A"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha4:*:*:*:node.js:*:*",
"matchCriteriaId": "2F3B609A-0CA5-4E8C-865E-CF79B6B0CCCC"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha5:*:*:*:node.js:*:*",
"matchCriteriaId": "308A710A-7965-40A0-87E4-2B66A8CEF87A"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha6:*:*:*:node.js:*:*",
"matchCriteriaId": "6CFEB6F4-A38A-43BC-92B1-2E1DC8BBD1D7"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:electronjs:electron:42.0.0:beta1:*:*:*:node.js:*:*",
"matchCriteriaId": "7B9FD9F4-48E0-4EA2-957D-57ADA2A3D42A"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/electron/electron/security/advisories/GHSA-5c9j-mhmv-5xgx",
"source": "[email protected]",
"tags": [
"Vendor Advisory"
]
}
]
}