{"id":"UBUNTU-CVE-2023-30581","details":"The use of __proto__ in process.mainModule.__proto__.require() can bypass the policy mechanism and require modules outside of the policy.json definition. This vulnerability affects all users using the experimental policy mechanism in all active release lines: v16, v18 and, v20. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js","modified":"2025-07-16T07:45:59.379912Z","published":"2023-11-23T00:15:00Z","withdrawn":"2025-07-18T16:54:26Z","upstream":["CVE-2023-30581"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2023-30581"},{"type":"REPORT","url":"https://nodejs.org/en/blog/vulnerability/june-2023-security-releases#mainmoduleproto-bypass-experimental-policy-mechanism-high-cve-2023-30581"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2023-30581"}],"affected":[{"package":{"name":"nodejs","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/nodejs@18.19.1+dfsg-2ubuntu4?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"18.19.1+dfsg-2ubuntu4"}]}],"versions":["18.13.0+dfsg1-1ubuntu2"],"ecosystem_specific":{"availability":"No subscription required","binaries":[{"binary_name":"libnode-dev","binary_version":"18.19.1+dfsg-2ubuntu4"},{"binary_name":"libnode108","binary_version":"18.19.1+dfsg-2ubuntu4"},{"binary_version":"18.19.1+dfsg-2ubuntu4","binary_name":"libnode108-dbgsym"},{"binary_version":"18.19.1+dfsg-2ubuntu4","binary_name":"nodejs"},{"binary_name":"nodejs-dbgsym","binary_version":"18.19.1+dfsg-2ubuntu4"},{"binary_name":"nodejs-doc","binary_version":"18.19.1+dfsg-2ubuntu4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2023/UBUNTU-CVE-2023-30581.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"},{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"},{"type":"Ubuntu","score":"medium"}]}