CVE-2021-22918 json
Node.js before 16.4.1, 14.17.2, 12.22.2 is vulnerable to an out-of-bounds read when uv__idna_toascii() is used to convert strings to ASCII.
published 2021-07-12 5 y ago modified 2026-10-16 24 d ago also BIT-node-2021-22918 , BIT-node-min-2021-22918 , EUVD-2021-10047
- cvss
- 5.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 23.1%
- EPSS 23.1% chance of exploitation in 30 days, percentile 97%
- public exploits
- 0
- none known
Summary
Node.js before 16.4.1, 14.17.2, 12.22.2 is vulnerable to an out-of-bounds read when uv__idna_toascii() is used to convert strings to ASCII. The pointer p is read and increased without checking whether it is beyond pe, with the latter holding a pointer to the end of the buffer. This can lead to information disclosures or crashes. This function can be triggered via uv_getaddrinfo().
Patch / fix
- bitnami node 12.22.2, 14.17.2, 16.4.1
- bitnami node-min 12.22.2, 14.17.2, 16.4.1
- NodeJS Node 12.22.2, 14.17.2, 16.4.1
- libuv1 Debian 14, Debian 13, Debian 12 1.40.0-2
debian advisories DEBIAN-CVE-2021-22918
- libuv1 Ubuntu 20.04 LTS 1.34.2-1ubuntu1.3
ubuntu advisories UBUNTU-CVE-2021-22918
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- nodejs-packaging RHEL 8, RHEL 8.2 EUS, RHEL 8.1 EUS 17-3.module+el8.1.0+3369+37ae6a45
- npm RHEL 8 1:6.14.13-1.12.22.3.2.module+el8.4.0+11732+c668cc9f
- nodejs RHEL 8 1:12.22.3-2.module+el8.4.0+11732+c668cc9f
- nodejs-nodemon RHEL 8 2.0.3-1.module+el8.4.0+11732+c668cc9f
- nodejs-full-i18n RHEL 8 1:12.22.3-2.module+el8.4.0+11732+c668cc9f
- libuv RHEL 8 1:1.41.1-1.el8_4
- rh-nodejs14-nodejs RHEL 3 SOFTWARE_COLLECTIONS 14.17.2-1.el7
- rh-nodejs14-nodejs-nodemon RHEL 3 SOFTWARE_COLLECTIONS 2.0.3-2.el7
red hat advisories RHSA-2021:3639RHSA-2021:3638RHSA-2021:3073RHSA-2021:3075RHSA-2021:2932RHSA-2021:2931
- nodejs14 SLE Module for Web and Scripting 15 SP3, SLE Module for Web and Scripting 15 SP2 14.17.2-5.12.1
- nodejs10 SLES for SAP 15 SP1, SLES for SAP 15, SLES 15-LTSS +11 more 10.24.1-1.36.1
- nodejs12 SLE Module for Web and Scripting 15 SP3, SLE Module for Web and Scripting 15 SP2 12.22.2-4.16.1
- nodejs12 SLE Module for Web and Scripting 12 12.22.2-1.32.1
- nodejs10 SLE Module for Web and Scripting 12 10.24.1-1.39.1
- nodejs14 SLE Module for Web and Scripting 12 14.17.2-6.12.1
suse advisories SUSE-SU-2021:2354-1SUSE-SU-2021:2353-1SUSE-SU-2021:2327-1SUSE-SU-2021:2326-1SUSE-SU-2021:2323-1SUSE-SU-2021:2319-1
- libuv openSUSE Tumbleweed 1.42.0-1.2
- nodejs14 openSUSE Tumbleweed 14.17.5-1.2
- nodejs16 openSUSE Tumbleweed 16.6.2-2.2
- nodejs10 openSUSE Leap 15.2 10.24.1-lp152.2.15.1
- nodejs14 openSUSE Leap 15.2 14.17.2-lp152.11.1
- nodejs12 openSUSE Leap 15.2 12.22.2-lp152.3.15.1
- nodejs14 openSUSE Leap 15.3 14.17.2-5.12.1
- nodejs10 openSUSE Leap 15.3 10.24.1-1.36.1
opensuse advisories openSUSE-SU-2024:11007-1openSUSE-SU-2024:11096-1openSUSE-SU-2024:11097-1openSUSE-SU-2021:1061-1openSUSE-SU-2021:1060-1openSUSE-SU-2021:1059-1
- libuv AlmaLinux 8 1:1.41.1-1.el8_4
- nodejs-nodemon AlmaLinux 8 2.0.3-1.module_el8.4.0+2521+c668cc9f
- nodejs-packaging AlmaLinux 8 23-3.module_el8.5.0+254+b4526b16
- nodejs-packaging AlmaLinux 8 23-3.module_el8.4.0+2522+3bd42762
- nodejs-packaging AlmaLinux 8 17-3.module_el8.4.0+2224+b07ac28e
- nodejs-packaging AlmaLinux 8 17-3.module_el8.4.0+2521+c668cc9f
- nodejs-packaging AlmaLinux 8 17-3.module_el8.3.0+2023+d2377ea3
almalinux advisories ALSA-2021:3075ALSA-2021:3074ALSA-2021:3073
- libuv Rocky Linux 8 1:1.41.1-1.el8_4
- nodejs Rocky Linux 8 1:14.17.3-2.module+el8.4.0+639+18660d0d
- nodejs-nodemon Rocky Linux 8 2.0.3-1.module+el8.6.0+982+9fdca2d4
- nodejs-nodemon Rocky Linux 8 2.0.3-1.module+el8.3.0+100+234774f7
- nodejs-nodemon Rocky Linux 8 2.0.3-1.module+el8.4.0+638+5344c6f7
- nodejs-packaging Rocky Linux 8 23-3.module+el8.7.0+1071+4bdda2a8
- nodejs-packaging Rocky Linux 8 23-3.module+el8.3.0+100+234774f7
- nodejs-packaging Rocky Linux 8 23-3.module+el8.5.0+733+de4fee6c
rocky linux advisories RLSA-2021:3075RLSA-2021:3074RLSA-2021:3073
- nodejs Alpine 3.12, Alpine 3.11 12.22.2-r0
- nodejs Alpine 3.14, Alpine 3.13 14.17.3-r0
alpine advisories ALPINE-CVE-2021-22918
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-22918 updated cvss 5.3
libuv: out-of-bounds read in uv__idna_toascii() can lead to information disclosures or crashes
-
Red Hat A-MQ Clients 2 libuv Red Hat A-MQ Interconnect 1 libuvaffected: no fix available “Fix deferred”
-
Red Hat OpenStack Platform 13 (Queens) Operational Tools libuvaffected: no fix planned “Out of support scope”
-
Red Hat Quay 3 nodejsaffected: no fix planned “Will not fix”
-
Red Hat CodeReady Linux Builder (v. 8) libuv-devel 1.41.1-1.el8_4, libuv-debuginfo 1.41.1-1.el8_4, libuv-debugsource 1.41.1-1.el8_4 Red Hat Enterprise Linux AppStream (v. 8) libuv 1.41.1-1.el8_4, nodejs 12.22.3-2.module+el8.4.0+11732+c668cc9f, nodejs 14.17.3-2.module+el8.4.0+11738+3bd42762, nodejs-packaging 17-3.module+el8.1.0+3369+37ae6a45, nodejs-packaging 23-3.module+el8.3.0+6519+9f98ed83, nodejs-nodemon 2.0.3-1.module+el8.3.0+6519+9f98ed83, +5 morefixed: vendor fix RHSA-2021:3075
-
Red Hat Enterprise Linux AppStream EUS (v. 8.1) nodejs 12.22.5-1.module+el8.1.0+12238+63fe3aec, nodejs-packaging 17-3.module+el8.1.0+3369+37ae6a45, nodejs-nodemon 1.18.3-1.module+el8.1.0+3369+37ae6a45, npm 6.14.14-1.12.22.5.1.module+el8.1.0+12238+63fe3aec, nodejs-full-i18n 12.22.5-1.module+el8.1.0+12238+63fe3aecfixed: vendor fix RHSA-2021:3639
-
Red Hat Enterprise Linux AppStream EUS (v. 8.2) nodejs 12.22.5-1.module+el8.2.0+12241+a3db445b, nodejs-packaging 17-3.module+el8.1.0+3369+37ae6a45, nodejs-nodemon 1.18.3-1.module+el8.1.0+3369+37ae6a45, npm 6.14.14-1.12.22.5.1.module+el8.2.0+12241+a3db445b, nodejs-full-i18n 12.22.5-1.module+el8.2.0+12241+a3db445bfixed: vendor fix RHSA-2021:3638
-
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) rh-nodejs12-nodejs 12.22.2-1.el7, rh-nodejs14-nodejs 14.17.2-1.el7, rh-nodejs12-npm 6.14.13-12.22.2.1.el7, rh-nodejs14-npm 6.14.13-14.17.2.1.el7, rh-nodejs12-nodejs-nodemon 2.0.3-2.el7, rh-nodejs14-nodejs-nodemon 2.0.3-2.el7 Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.7) rh-nodejs12-nodejs 12.22.2-1.el7, rh-nodejs14-nodejs 14.17.2-1.el7, rh-nodejs12-npm 6.14.13-12.22.2.1.el7, rh-nodejs14-npm 6.14.13-14.17.2.1.el7, rh-nodejs12-nodejs-nodemon 2.0.3-2.el7, rh-nodejs14-nodejs-nodemon 2.0.3-2.el7 Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) rh-nodejs12-nodejs 12.22.2-1.el7, rh-nodejs14-nodejs 14.17.2-1.el7, rh-nodejs12-npm 6.14.13-12.22.2.1.el7, rh-nodejs14-npm 6.14.13-14.17.2.1.el7, rh-nodejs12-nodejs-nodemon 2.0.3-2.el7, rh-nodejs14-nodejs-nodemon 2.0.3-2.el7fixed: vendor fix RHSA-2021:2931
-
Red Hat Enterprise Linux 8 npm, nodejs, nodejs-libs, nodejs-nodemon, nodejs-full-i18n, nodejs-packaging, +1 more Red Hat Enterprise Linux 9 npm, libuv, nodejs, nodejs-libs, nodejs-full-i18nnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-22-069-09 updated cvss 5.3
Siemens SINEC INS
-
Siemens SINEC INS <V1.0.1.1affected: fixed in V1.0.1.1 support.industry.siemens.com
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
Exploit prediction
23.13% chance of exploitation in the next 30 days, higher than 97% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- hackerone.com https://hackerone.com/reports/1209681 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | node | >=12.0.0, <12.22.2 >=14.0.0, <14.17.2 >=16.0.0, <16.4.1 |
12.22.2 14.17.2 16.4.1 |
| bitnami | node-min | >=12.0.0, <12.22.2 >=14.0.0, <14.17.2 >=16.0.0, <16.4.1 |
12.22.2 14.17.2 16.4.1 |
Affected products
- NodeJS Node
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
- Technology feeds
References
-
nodejs.org
/en/blog/vulnerability/july-2021-security-releases/
patch, vendor-advisory, advisory
-
cert-portal.siemens.com
/productcert/pdf/ssa-389290.pdf
patch, third-party-advisory
-
hackerone.com
/reports/1209681
exploit, third-party-advisory, advisory
-
security.gentoo.org
/glsa/202401-23
vendor-advisory, web
-
security.netapp.com
/advisory/ntap-20210805-0003/
third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-22918
web
Sources
- CVE List CVE-2021-22918
- NVD CVE-2021-22918
- OSV BIT-node-2021-22918
- OSV BIT-node-min-2021-22918
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.