Node.js Integrity Check Bypass Vulnerability in Node.js Packages
Summary
UBUNTU-CVE-2023-38552: When the Node.js policy feature checks the integrity of a resource against a trusted manifest, the application can intercept the operation and return a forged checksum to the node's policy implementation, thus effectivel... Affects nodejs versions 12.22.5~dfsg-5ubuntu1 – 12.22.9~dfsg-1ubuntu3.6. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Node.js is a popular open-source JavaScript runtime built on Chrome's V8 JavaScript engine, widely used for building scalable network applications. The affected packages, including 'nodejs', 'libnode-dev', and 'libnode72', are integral to the Node.js ecosystem, providing essential functionalities for developers. However, a recent vulnerability has been identified that compromises the integrity check mechanism of Node.js, particularly affecting users who utilize the experimental policy feature.
Vulnerability Detail
The vulnerability, identified as CVE-2023-38552, arises when the Node.js policy feature checks the integrity of a resource against a trusted manifest. An attacker can intercept this operation and return a forged checksum, effectively disabling the integrity check. This flaw affects all users employing the experimental policy mechanism across active release lines, including versions 18.x and 20.x. The ramifications include potential unauthorized access and manipulation of resources, posing significant security risks.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, users can disable the experimental policy feature in their Node.js applications until a patch is applied. This can be done by avoiding the use of the policy mechanism in the application code.
Conclusion
The CVE-2023-38552 vulnerability poses significant risks to Node.js applications utilizing the experimental policy feature. It is crucial for users to update their packages to the latest versions to mitigate these risks. Additionally, utilizing tools like Vulert can help monitor and alert for open-source vulnerabilities in real-time.
See every vulnerability recorded for nodejs →
FAQ
CVE-2023-38552 is a vulnerability in Node.js that allows attackers to bypass integrity checks by returning forged checksums.
The vulnerability affects all users of the experimental policy mechanism in Node.js versions 18.x and 20.x.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
As a temporary measure, consider disabling the experimental policy feature in your application until you can apply the patch.
The CVSS score for CVE-2023-38552 is 7.5, indicating a high severity level.
Related vulnerabilities
Recent vulnerabilities recorded for nodejs.