CVE-2023-38552: Integrity checks according to policies can be circumvented
Integrity checks according to experimental policies can be circumvented (Medium)
Other sources
Node.js could allow a remote attacker to bypass security restrictions, caused by the circumvention of integrity checks by the policy feature. By sending a specially crafted request, an attacker could exploit this vulnerability to bypass the experimental permission model.
— IBM
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 node's policy implementation, thus effectively disabling the integrity check.
Please note that at the time this CVE is issued, the policy mechanism is an experimental feature of Node.js.
Thanks to Tobias Nießen who reported and created the security patch.
— Node.Js
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 node's policy implementation, thus effectively disabling the integrity check.
References: https://nodejs.org/en/blog/vulnerability/october-2023-security-releases
— Red Hat
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 effectively disabling the integrity check. Impacts: This vulnerability affects all users using the experimental policy mechanism in all active release lines: 18.x and, 20.x. Please note that at the time this CVE was issued, the policy mechanism is an experimental feature of Node.js.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 18.18.2Fixed in 20.8.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 18.18.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 20.8.1 - Upgrade
Upgrade
alpine/nodejsto a version that resolves this vulnerability.Fixed in 18.18.2-r0 - Upgrade
Upgrade
alpine/nodejs-currentto a version that resolves this vulnerability.Fixed in 20.8.1-r0 - 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 the vulnerability ID?
The vulnerability ID is CVE-2023-38552.
What is the severity of CVE-2023-38552?
The severity of CVE-2023-38552 is medium (severity value: 4).
How does CVE-2023-38552 affect Node.js?
CVE-2023-38552 affects all users of Node.js.
What is the impact of CVE-2023-38552?
The impact of CVE-2023-38552 is that the vulnerability allows an application to disable the integrity check of a resource.
Are there any references available for CVE-2023-38552?
Yes, you can find references for CVE-2023-38552 at the following links: [https://hackerone.com/reports/2094235](https://hackerone.com/reports/2094235), [https://nodejs.org/en/blog/vulnerability/october-2023-security-releases](https://nodejs.org/en/blog/vulnerability/october-2023-security-releases), [https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2244472](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2244472).