{"id":"CVE-2023-30586","aliases":["BIT-node-2023-30586","BIT-node-min-2023-30586","EUVD-2023-34967","GHSA-jvqw-9mq6-23h9","MGASA-2023-0226","openSUSE-SU-2024:13021-1"],"status":"published","title":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL...","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.01348,"percentile":0.71834,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-862"],"published":"2023-06-30T23:40:08Z","modified":"2026-10-28T02:30:56Z","fixes":[{"ecosystem":"Bitnami","package":"node","fixed_in":["20.3.1"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"node-min","fixed_in":["20.3.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"node","ranges":[{"type":"SEMVER","events":[{"introduced":"20.0.0"},{"fixed":"20.3.1"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"node-min","ranges":[{"type":"SEMVER","events":[{"introduced":"20.0.0"},{"fixed":"20.3.1"}]}]},{"source":"osv","ecosystem":"Mageia:8","package":"nodejs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"18.16.1-1.mga8"}]}],"bundled":10},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"nodejs20","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"20.3.1-1.1"}]}],"bundled":10}],"products":[{"vendor":"nodejs","product":"node"},{"vendor":"nodejs","product":"node.js"}],"references":[{"url":"https://hackerone.com/reports/1954535","tags":["x_transferred","Issue Tracking","Third Party Advisory","advisory","web"]},{"url":"https://security.netapp.com/advisory/ntap-20230803-0008/","tags":["x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-30586","tags":["web","advisory"]},{"url":"https://security.netapp.com/advisory/ntap-20230803-0008"},{"url":"https://github.com/advisories/GHSA-jvqw-9mq6-23h9"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/30xxx/CVE-2023-30586.json","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2023-0226.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=32047","tags":["report"]},{"url":"https://github.com/nodejs/node/releases/tag/v18.16.1","tags":["web"]},{"url":"https://nodejs.org/en/blog/vulnerability/june-2023-security-releases/","tags":["web"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30581","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30582","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30583","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30584","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30585","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30586","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30587","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30588","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30589","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-30590","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2023-30586","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2023-06-30T23:40:08.238Z","modified":"2025-05-08T16:14:11.957Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"adp"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:35:22.640346Z"}],"euvd":[{"id":"EUVD-2023-34967","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2023-06-30T23:40:08Z","modified":"2025-05-08T16:14:11Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T20:32:51.637681Z"}],"ghsa":[{"id":"GHSA-jvqw-9mq6-23h9","title":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL...","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2023-07-01T00:30:45Z","modified":"2025-05-08T18:31:34Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:02:12.439359Z"}],"nvd":[{"id":"CVE-2023-30586","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2023-07-01T00:15:10.247Z","modified":"2026-06-17T05:55:05.053Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:08:14.715708Z"}],"osv":[{"id":"CVE-2023-30586","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2023-06-30T23:40:08.238Z","modified":"2026-10-28T02:30:56.122241341Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:31.790231Z"},{"id":"BIT-node-2023-30586","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2024-03-06T11:01:15.387Z","modified":"2026-09-08T08:48:17.639927182Z","updated_at":"2026-11-02T15:28:34.007508Z"},{"id":"BIT-node-min-2023-30586","description":"A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","status":"published","published":"2024-12-16T13:59:05.925Z","modified":"2026-09-08T08:48:17.400931381Z","updated_at":"2026-11-02T15:28:34.007508Z"},{"id":"MGASA-2023-0226","title":"Updated nodejs packages fix security vulnerability","description":"Current nodejs 14 branch in Mageia 8 is end of life and there are no more\nsecurity updates.\n\nThis release allows to move to the new nodejs 18 LTS branch and fixes the\nfollowing CVEs\nCVE-2023-30581: mainModule.__proto__ Bypass Experimental Policy Mechanism\n(High)\nCVE-2023-30585: Privilege escalation via Malicious Registry Key\nmanipulation during Node.js installer repair process (Medium)\nCVE-2023-30588: Process interuption due to invalid Public Key information\nin x509 certificates (Medium)\nCVE-2023-30589: HTTP Request Smuggling via Empty headers separated by CR\n(Medium)\nCVE-2023-30590: DiffieHellman does not generate keys after setting a\nprivate key (Medium)\nOpenSSL Security Releases\n OpenSSL security advisory 28th March.\n OpenSSL security advisory 20th April.\n OpenSSL security advisory 30th May\nc-ares vulnerabilities:\n GHSA-9g78-jv2r-p7vc\n GHSA-8r8p-23f3-64c2\n GHSA-54xr-f67r-4pc4\n GHSA-x6mf-cxr9-8q6v\n","status":"published","published":"2023-07-07T05:54:45Z","modified":"2026-04-16T04:41:15.683592451Z","updated_at":"2026-11-02T15:49:42.263076Z"},{"id":"openSUSE-SU-2024:13021-1","title":"corepack20-20.3.1-1.1 on GA media","description":"These are all security issues fixed in the corepack20-20.3.1-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:42:09.864207Z","updated_at":"2026-11-02T16:58:36.025801Z"}]}}
