CVE-2021-22884: DNS rebinding in --inspect

Published Feb 18, 2021
·
Updated

A flaw was found in nodejs. A denial of service is possible when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS over the network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.

Other sources

Affected Node.js versions are vulnerable to a DNS rebinding attack when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.

All versions of the 15.x, 14.x, 12.x and 10.x releases lines

— Node.Js

Affected Node.js versions are vulnerable to denial of service attacks when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.

Reference: https://nodejs.org/en/blog/vulnerability/february-2021-security-releases/#update-23-feb-2021-security-releases-available

— Red Hat

DNS rebinding in --inspect - Affected Node.js versions are vulnerable to denial of service attacks when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.

— Node.Js

Node.js before 10.24.0, 12.21.0, 14.16.0, and 15.10.0 is vulnerable to DNS rebinding attacks as the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.

Node.js is vulnerable to a denial of service, caused by an error when the allowlist includes "localhost6". By controlling the victim's DNS server or spoofing its responses, an attacker could exploit this vulnerability to bypass the DNS rebinding protection mechanism using the "localhost6" domain and cause a denial of service.

— IBM

Affected Software

69 affected componentsFixes available
ubuntu/nodejs<8.10.0~dfsg-2ubuntu0.4+
8.10.0~dfsg-2ubuntu0.4+
ubuntu/nodejs<10.19.0~dfsg-3ubuntu1.2
10.19.0~dfsg-3ubuntu1.2
ubuntu/nodejs<12.21.0~dfsg-1
12.21.0~dfsg-1
debian/nodejs
10.24.0~dfsg-1~deb10u110.24.0~dfsg-1~deb10u312.22.12~dfsg-1~deb11u418.13.0+dfsg1-1
redhat/rh-nodejs10-nodejs<0:10.24.0-1.el7
0:10.24.0-1.el7
redhat/rh-nodejs14-nodejs<0:14.16.0-1.el7
0:14.16.0-1.el7
redhat/rh-nodejs12-nodejs<0:12.21.0-1.el7
0:12.21.0-1.el7
redhat/node<15.10.0
15.10.0
redhat/node<14.16.0
14.16.0
redhat/node<12.21.0
12.21.0
redhat/node<10.24.0
10.24.0
IBM Cloud Pak for Security (CP4S)<=1.6.0.1
IBM Cloud Pak for Security (CP4S)<=1.6.0.0
IBM Cloud Pak for Security (CP4S)<=1.5.0.1
IBM Cloud Pak for Security (CP4S)<=1.5.0.0
IBM Cloud Pak for Security (CP4S)<=1.4.0.0
Nodejs Node.js>=10.0.0<10.24.0
Nodejs Node.js>=12.0.0<12.21.0
Nodejs Node.js>=14.0.0<14.16.0
Nodejs Node.js>=15.0.0<15.10.0
Fedoraproject Fedora=32
Fedoraproject Fedora=33
Fedoraproject Fedora=34
NetApp Active Iq Unified Manager Vmware Vsphere
NetApp Active Iq Unified Manager Windows
NetApp E-series Performance Analyzer
NetApp OnCommand Insight
NetApp OnCommand Workflow Automation
NetApp Snapcenter
Oracle GraalVM=19.3.5
Oracle GraalVM=20.3.1.2
Oracle GraalVM=21.0.0.2
Oracle JD Edwards EnterpriseOne Tools<9.2.6.0
Oracle MySQL Cluster<=8.0.25
Oracle Nosql Database<20.3
Oracle PeopleSoft Enterprise PeopleTools=8.58
Oracle PeopleSoft Enterprise PeopleTools=8.59
Siemens Sinec Infrastructure Network Services<1.0.1.1
Node.js Node.js>=10.0.0<10.24.0, >=12.0.0<12.21.0, >=14.0.0<14.16.0, >=15.0.0<15.10.0
10.24.012.21.014.16.015.10.0
Node.js Node.js>=10.0.0<10.24.0
10.24.0
Node.js Node.js>=12.0.0<12.21.0
12.21.0
Node.js Node.js>=14.0.0<14.16.0
14.16.0
Node.js Node.js>=15.0.0<15.10.0
15.10.0
alpine/nodejs<12.21.0-r0
12.21.0-r0
alpine/nodejs<12.21.0-r0
12.21.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs<14.16.0-r0
14.16.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0
alpine/nodejs-current<15.10.0-r0
15.10.0-r0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

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

    Fixed in 8.10.0~dfsg-2ubuntu0.4+
  2. Upgrade

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

    Fixed in 10.19.0~dfsg-3ubuntu1.2
  3. Upgrade

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

    Fixed in 12.21.0~dfsg-1
  4. Upgrade

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

    Fixed in 10.24.0~dfsg-1~deb10u1Fixed in 10.24.0~dfsg-1~deb10u3Fixed in 12.22.12~dfsg-1~deb11u4Fixed in 18.13.0+dfsg1-1
  5. Upgrade

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

    Fixed in 0:10.24.0-1.el7
  6. Upgrade

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

    Fixed in 0:14.16.0-1.el7
  7. Upgrade

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

    Fixed in 0:12.21.0-1.el7
  8. Upgrade

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

    Fixed in 15.10.0
  9. Upgrade

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

    Fixed in 14.16.0
  10. Upgrade

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

    Fixed in 12.21.0
  11. Upgrade

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

    Fixed in 10.24.0
  12. Upgrade

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

    Fixed in 10.24.0Fixed in 12.21.0Fixed in 14.16.0Fixed in 15.10.0
  13. Upgrade

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

    Fixed in 10.24.0
  14. Upgrade

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

    Fixed in 12.21.0
  15. Upgrade

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

    Fixed in 14.16.0
  16. Upgrade

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

    Fixed in 15.10.0
  17. Upgrade

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

    Fixed in 12.21.0-r0
  18. Upgrade

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

    Fixed in 14.16.0-r0
  19. Upgrade

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

    Fixed in 15.10.0-r0
  20. Upgrade

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

    Fixed in 10.24.0
  21. Upgrade

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

    Fixed in 12.21.0
  22. Upgrade

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

    Fixed in 14.16.0
  23. Upgrade

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

    Fixed in 15.10.0

Event History

Feb 18, 2021
CVE Published
12:00 AM
Feb 23, 2021
Data Sourced
via Node.js·12:58 PM
SeverityAffected Software
Data Sourced
via Node.js·01:30 PM
Description
Mar 3, 2021
CVE Published
via MITRE·05:37 PM
Data Sourced
via MITRE·05:37 PM
DescriptionWeakness
Data Sourced
via NVD·06:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via OSV·06:15 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the vulnerability ID?

The vulnerability ID is CVE-2021-22884.

2

What is the severity of CVE-2021-22884?

The severity of CVE-2021-22884 is high with a severity value of 7.

3

What is the affected software version?

The affected software versions are Node.js before 10.24.0, 12.21.0, 14.16.0, and 15.10.0.

4

How does CVE-2021-22884 affect Node.js?

CVE-2021-22884 affects Node.js by making it vulnerable to DNS rebinding attacks.

5

How can I fix CVE-2021-22884?

To fix CVE-2021-22884, update Node.js to version 10.24.0, 12.21.0, 14.16.0, or 15.10.0 depending on the version you are using.

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