{"id":"CVE-2026-25586","summary":"SandboxJS has a Sandbox Escape via Prototype Whitelist Bypass and Host Prototype Pollution","details":"SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, a sandbox escape is possible by shadowing hasOwnProperty on a sandbox object, which disables prototype whitelist enforcement in the property-access path. This permits direct access to __proto__ and other blocked prototype properties, enabling host Object.prototype pollution and persistent cross-sandbox impact. This vulnerability is fixed in 0.8.29.","aliases":["GHSA-jjpw-65fv-8g48"],"modified":"2026-04-10T05:40:41.377413Z","published":"2026-02-06T19:54:38.446Z","database_specific":{"cwe_ids":["CWE-74"],"cna_assigner":"GitHub_M","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25586.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25586.json"},{"type":"ADVISORY","url":"https://github.com/nyariv/SandboxJS/security/advisories/GHSA-jjpw-65fv-8g48"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25586"},{"type":"FIX","url":"https://github.com/nyariv/SandboxJS/commit/67cb186c41c78c51464f70405504e8ef0a6e43c3"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/nyariv/sandboxjs","events":[{"introduced":"0"},{"fixed":"67cb186c41c78c51464f70405504e8ef0a6e43c3"}]}],"versions":["0.5.0","0.5.2","0.5.3","0.6.0","0.6.1","0.6.2","0.7.0","0.7.1","0.8.0","0.8.10","0.8.11","0.8.12","0.8.14","0.8.15","0.8.15.1","0.8.16","0.8.17","0.8.18","0.8.19","0.8.2","0.8.20","0.8.21","0.8.22","0.8.23","0.8.23-1","0.8.23.2","0.8.23.3","0.8.24","0.8.24-1","0.8.24-2","0.8.28","0.8.3","0.8.4","0.8.5","0.8.6","0.8.7","0.8.8","0.8.9"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25586.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}]}