CVE-2021-44533: Incorrect handling of certificate subject and issuer fields

Published Jan 10, 2022
·
Updated

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

64 affected componentsFixes available
redhat/rh-nodejs12-nodejs<0:12.22.12-2.el7
0:12.22.12-2.el7
redhat/rh-nodejs14-nodejs<0:14.20.1-2.el7
0:14.20.1-2.el7
Nodejs Node.js<12.22.9
Nodejs Node.js>=14.0.0<14.18.3
Nodejs Node.js>=16.0.0<16.13.2
Nodejs Node.js>=17.0.0<17.3.1
Oracle GraalVM=20.3.5
Oracle GraalVM=21.3.1
Oracle GraalVM=22.0.0.2
Oracle MySQL Cluster<8.0.29
Oracle MySQL Cluster=8.0.29
Oracle MySQL Connectors<=8.0.28
Oracle MySQL Enterprise Monitor<=8.0.29
Oracle MySQL Server<=5.7.37
Oracle MySQL Server>=8.0.0<=8.0.28
Oracle MySQL Workbench<=8.0.28
Oracle PeopleSoft Enterprise PeopleTools=8.58
Oracle PeopleSoft Enterprise PeopleTools=8.59
Debian Debian Linux=11.0
redhat/node<12.22.9
12.22.9
redhat/node<14.18.3
14.18.3
redhat/node<16.13.2
16.13.2
redhat/node<17.3.1
17.3.1
IBM Cognos Analytics<=11.2.0 - 11.2.2
IBM Cognos Analytics<=11.1.0 - 11.1.6 FP4
Node.js Node.js>=12.0.0<12.22.9, >=14.0.0<14.18.3, >=16.0.0<16.13.2, >=17.0.0<17.3.1
12.22.914.18.316.13.217.3.1
Node.js Node.js>=12.0.0<12.22.9
12.22.9
Node.js Node.js>=14.0.0<14.18.3
14.18.3
Node.js Node.js>=16.0.0<16.13.2
16.13.2
Node.js Node.js>=17.0.0<17.3.1
17.3.1
debian/nodejs
18.20.4+dfsg-1~deb12u218.20.4+dfsg-1~deb12u320.19.2+dfsg-1+deb13u220.19.2+dfsg-1+deb13u324.21.0+dfsg+~cs24.13.4-124.22.2+dfsg+~cs24.19.2-1
alpine/nodejs<12.22.10-r0
12.22.10-r0
alpine/nodejs<14.19.0-r0
14.19.0-r0
alpine/nodejs<14.19.0-r0
14.19.0-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs<16.13.2-r0
16.13.2-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/nodejs-current<17.3.1-r0
17.3.1-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0
alpine/openjdk11<11.0.15_p10-r0
11.0.15_p10-r0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/rh-nodejs12-nodejs to a version that resolves this vulnerability.

    Fixed in 0:12.22.12-2.el7
  2. Upgrade

    Upgrade redhat/rh-nodejs14-nodejs to a version that resolves this vulnerability.

    Fixed in 0:14.20.1-2.el7
  3. Upgrade

    Upgrade redhat/node to a version that resolves this vulnerability.

    Fixed in 12.22.9
  4. Upgrade

    Upgrade redhat/node to a version that resolves this vulnerability.

    Fixed in 14.18.3
  5. Upgrade

    Upgrade redhat/node to a version that resolves this vulnerability.

    Fixed in 16.13.2
  6. Upgrade

    Upgrade redhat/node to a version that resolves this vulnerability.

    Fixed in 17.3.1
  7. 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
  8. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 12.22.9
  9. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 14.18.3
  10. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 16.13.2
  11. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 17.3.1
  12. Upgrade

    Upgrade debian/nodejs to 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
  13. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 12.22.10-r0
  14. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 14.19.0-r0
  15. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 16.13.2-r0
  16. Upgrade

    Upgrade alpine/nodejs-current to a version that resolves this vulnerability.

    Fixed in 17.3.1-r0
  17. Upgrade

    Upgrade alpine/openjdk11 to a version that resolves this vulnerability.

    Fixed in 11.0.15_p10-r0
  18. Upgrade

    Upgrade Node.js to a version that resolves this vulnerability.

    Fixed in 12.22.9
  19. Upgrade

    Upgrade Node.js to a version that resolves this vulnerability.

    Fixed in 14.18.3
  20. Upgrade

    Upgrade Node.js to a version that resolves this vulnerability.

    Fixed in 16.13.2
  21. Upgrade

    Upgrade Node.js to a version that resolves this vulnerability.

    Fixed in 17.3.1

Event History

Jan 10, 2022
CVE Published
12:00 AM
Jan 11, 2022
Data Sourced
via Node.js·12:00 AM
SeverityAffected Software
Data Sourced
via Node.js·12:50 AM
Description
Jan 14, 2022
Data Sourced
via Red Hat·07:44 PM
DescriptionSeverityAffected Software
Feb 24, 2022
CVE Published
via MITRE·06:27 PM
Data Sourced
via MITRE·06:27 PM
DescriptionWeakness
Data Sourced
via NVD·07:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via OSV·07:15 PM
DescriptionSeverityAffected Software
Jul 15, 2025
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Frequently Asked Questions

1

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.

2

How severe is CVE-2021-44533?

CVE-2021-44533 has a severity rating of 7.4, which is considered high.

3

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.

4

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.

5

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.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203