CVE-2021-44533: Incorrect handling of certificate subject and issuer fields
A flaw was found in node.js, where it did not properly handle multi-value Relative Distinguished Names. This flaw allows a specially crafted x509 certificate to produce a false multi-value Relative Distinguished Name and to inject arbitrary data in node.js libraries.
Other sources
Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.Affected versions of Node.js that do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
Node.js could allow a remote attacker to bypass security restrictions, caused by the incorrect handling of multi-value Relative Distinguished Names. By crafting certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, an attacker could exploit this vulnerability to bypass the certificate subject verification.
— IBM
Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
More details will be available at CVE-2021-44533 after publication.
This vulnerability was reported by Google.
All versions of the 17.x, 16.x, 14.x, and 12.x releases lines.
— Node.Js
Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
Reference: https://nodejs.org/en/blog/vulnerability/jan-2022-security-releases/
— Red Hat
Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification. See https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44533 for more details.
— Node.Js
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/rh-nodejs12-nodejsto a version that resolves this vulnerability.Fixed in 0:12.22.12-2.el7 - Upgrade
Upgrade
redhat/rh-nodejs14-nodejsto a version that resolves this vulnerability.Fixed in 0:14.20.1-2.el7 - Upgrade
Upgrade
redhat/nodeto a version that resolves this vulnerability.Fixed in 12.22.9 - Upgrade
Upgrade
redhat/nodeto a version that resolves this vulnerability.Fixed in 14.18.3 - Upgrade
Upgrade
redhat/nodeto a version that resolves this vulnerability.Fixed in 16.13.2 - Upgrade
Upgrade
redhat/nodeto a version that resolves this vulnerability.Fixed in 17.3.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 12.22.9Fixed in 14.18.3Fixed in 16.13.2Fixed in 17.3.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 12.22.9 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 14.18.3 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 16.13.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 17.3.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 - Upgrade
Upgrade
alpine/nodejsto a version that resolves this vulnerability.Fixed in 12.22.10-r0 - Upgrade
Upgrade
alpine/nodejsto a version that resolves this vulnerability.Fixed in 14.19.0-r0 - Upgrade
Upgrade
alpine/nodejsto a version that resolves this vulnerability.Fixed in 16.13.2-r0 - Upgrade
Upgrade
alpine/nodejs-currentto a version that resolves this vulnerability.Fixed in 17.3.1-r0 - Upgrade
Upgrade
alpine/openjdk11to a version that resolves this vulnerability.Fixed in 11.0.15_p10-r0 - Upgrade
Upgrade
Node.jsto a version that resolves this vulnerability.Fixed in 12.22.9 - Upgrade
Upgrade
Node.jsto a version that resolves this vulnerability.Fixed in 14.18.3 - Upgrade
Upgrade
Node.jsto a version that resolves this vulnerability.Fixed in 16.13.2 - Upgrade
Upgrade
Node.jsto a version that resolves this vulnerability.Fixed in 17.3.1
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2021-44533?
CVE-2021-44533 is a vulnerability found in Node.js versions prior to 12.22.9, 14.18.3, 16.13.2, and 17.3.1.
How severe is CVE-2021-44533?
CVE-2021-44533 has a severity rating of 7.4, which is considered high.
How does CVE-2021-44533 affect Node.js?
CVE-2021-44533 affects Node.js versions prior to 12.22.9, 14.18.3, 16.13.2, and 17.3.1. It does not handle multi-value Relative Distinguished Names correctly, which could allow attackers to craft malicious certificates.
How can I fix CVE-2021-44533 in Node.js?
To fix CVE-2021-44533 in Node.js, you should update to version 12.22.9, 14.18.3, 16.13.2, or 17.3.1, which contain the necessary security patches.
Where can I find more information about CVE-2021-44533?
You can find more information about CVE-2021-44533 in the official Node.js security releases blog post and the associated bugzilla entries.