Skip to content
Fencer Vulns
medium 5.3

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

  • pytorch Azure Linux 3.0 2.2.2-4

azure linux advisories AZL-41581

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

  • nodejs Arch Linux 16.4.1-1
  • libuv Arch Linux 1.41.1-1

arch linux advisories AVG-2126AVG-2131

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 libuv
    affected: no fix available “Fix deferred”
  • Red Hat OpenStack Platform 13 (Queens) Operational Tools libuv
    affected: no fix planned “Out of support scope”
  • Red Hat Quay 3 nodejs
    affected: 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 more
    fixed: 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+63fe3aec
    fixed: 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+a3db445b
    fixed: 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.el7
    fixed: 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-i18n
    not 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

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
Technology feeds

References

Sources

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.