CVE-2021-44532: Certificate Verification Bypass via String Injection

Published Jan 10, 2022
·
Updated

It was found that node.js did not safely read the x509 certificate generalName format properly, resulting in data injection. A certificate could use a specially crafted extension in order to be successfully validated, permitting an attacker to impersonate a trusted host.

Other sources

Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.

Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.

Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection.

Reference: https://nodejs.org/en/blog/vulnerability/jan-2022-security-releases/

— Red Hat

Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.

Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.

More details will be available at CVE-2021-44532 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 converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints. See https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532 for more details.

— Node.Js

Node.js could allow a remote attacker to bypass security restrictions, caused by a string injection vulnerability when name constraints were used within a certificate chain. An attacker could exploit this vulnerability to bypass the name constraints.

— IBM

Affected Software

63 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 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.0<=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:34 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-44532?

CVE-2021-44532 is a vulnerability in Node.js that allows a remote attacker to bypass security restrictions caused by a string injection vulnerability.

2

Which versions of Node.js are affected by CVE-2021-44532?

Node.js versions < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 are affected by CVE-2021-44532.

3

How does CVE-2021-44532 work?

CVE-2021-44532 occurs when Node.js converts SANs (Subject Alternative Names) to a string format, which was subject to an injection vulnerability when name constraints were used.

4

What is the severity of CVE-2021-44532?

CVE-2021-44532 has a severity rating of 7.4 (high).

5

What is the Common Weakness Enumeration (CWE) ID for CVE-2021-44532?

CVE-2021-44532 is associated with CWE-295 and CWE-296.

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