CVE-2023-32002: Permissions policies can be bypassed via Module._load
HackerOne: CVE-2023-32002 Node.js Module.load() policy Remote Code Execution Vulnerability
Other sources
Node.js could allow a remote attacker to bypass security restrictions, caused by the use of Module.load(). By sending a specially crafted request, an attacker could exploit this vulnerability to bypass the permission policy mechanism.
— IBM
The use of Module.load() can bypass the policy mechanism and require modules outside of the policy.json definition for a given module. This vulnerability affects all users using the experimental policy mechanism in all active release lines: 16.x, 18.x and, 20.x. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js.
— Ubuntu
The use of Module.load() can bypass the policy mechanism and require modules outside of the policy.json definition for a given module.
— Node.Js
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/nodejsto a version that resolves this vulnerability.Fixed in 12.22.9~dfsg-1ubuntu3.6 - Upgrade
Upgrade
ubuntu/nodejsto a version that resolves this vulnerability.Fixed in 18.13.0+dfsg1-1ubuntu2.3 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 16.20.2Fixed in 18.17.1Fixed in 20.5.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 16.20.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 18.17.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 20.5.1 - Upgrade
Upgrade
debian/nodejsto a version that resolves this vulnerability.Fixed in 18.20.4+dfsg-1~deb12u2Fixed in 18.20.4+dfsg-1~deb12u3Fixed in 20.19.2+dfsg-1+deb13u2Fixed in 20.19.2+dfsg-1+deb13u3Fixed in 24.21.0+dfsg+~cs24.13.4-1Fixed in 24.22.2+dfsg+~cs24.19.2-1
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2023-32002?
CVE-2023-32002 is a vulnerability that allows the use of `Module._load()` to bypass the policy mechanism and require modules outside of the policy.json definition for a given module in Node.js, affecting all users using the experimental policy mechanism in all active release lines: 16.x, 18.x, and 20.x.
How does CVE-2023-32002 impact Node.js users?
CVE-2023-32002 impacts Node.js users who are using the experimental policy mechanism in active release lines 16.x, 18.x, and 20.x, by allowing the bypassing of the policy mechanism and requiring modules outside of the policy.json definition for a given module.
What is the severity of CVE-2023-32002?
The severity of CVE-2023-32002 is rated as critical with a CVSS score of 9.8.
How can I fix CVE-2023-32002 vulnerability in Node.js?
To fix the CVE-2023-32002 vulnerability in Node.js, users should update to the latest version of Node.js from the affected release lines: 16.x, 18.x, and 20.x, once a patch or new version is released by the Node.js maintainers.
Where can I find more information about CVE-2023-32002?
More information about CVE-2023-32002 can be found in the following resources: 1. [HackerOne Report](https://hackerone.com/reports/1960870) 2. [NetApp Advisory](https://security.netapp.com/advisory/ntap-20230915-0009/)