LiveActive security incident?Get immediate response
CVE Record

CVE-2021-22918: 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 u...

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().

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This vulnerability affects older Node.js releases and can cause a service to crash or expose memory when specially handled domain-name conversion reaches libuv name-resolution logic. It matters most where Node.js processes attacker-controlled hostnames, URLs, or DNS lookup inputs. The provided sources do not show active exploitation.

Executive priority

Treat as a targeted remediation item, not an emergency based on the supplied evidence. Prioritize exposed Node.js services and vendor-managed platforms, especially where user-controlled hostnames are resolved. Fold remaining upgrades into supported-runtime migration work.

Technical view

CVE-2021-22918 is a CWE-125 out-of-bounds read in Node.js through libuv's uv__idna_toascii() conversion path, triggerable via uv_getaddrinfo(). A pointer can advance beyond the buffer end during ASCII conversion, potentially causing information disclosure or denial of service. Fixed Node.js releases named in the bundle are 16.4.1, 14.17.2, and 12.22.2.

Likely exposure

Exposure is most likely in applications or embedded products running Node.js before 16.4.1, 14.17.2, or 12.22.2 that resolve attacker-influenced hostnames. Downstream vendor advisories from NetApp, Siemens, and Gentoo indicate bundled or packaged Node.js exposure may also matter.

Exploitation context

The bundle states the vulnerable function can be reached through uv_getaddrinfo(). No supplied source or KEV status indicates known active exploitation. Practical impact depends on whether untrusted input can influence hostname or IDNA conversion in a vulnerable Node.js runtime.

Researcher notes

The key validation question is reachability: whether attacker-controlled strings can enter uv_getaddrinfo() on a vulnerable runtime. The source bundle gives impact and fixed versions but no CVSS score, exploit maturity, or detailed product mapping for downstream advisories.

Mitigation direction

  • Upgrade Node.js to 16.4.1, 14.17.2, 12.22.2, or later supported releases.
  • Migrate unsupported Node.js branches to a maintained release line.
  • Check NetApp, Siemens, Gentoo, and other vendor guidance for embedded Node.js fixes.
  • Prioritize internet-facing services that resolve user-supplied domains or URLs.
  • Review input handling around hostname, URL, and DNS lookup paths.

Validation and detection

  • Inventory Node.js versions in servers, containers, build images, and packaged products.
  • Confirm production runtimes are at or above the fixed Node.js versions.
  • Identify application paths that pass untrusted hostnames into DNS resolution.
  • Check vendor advisories for affected appliances or distribution packages.
  • Review crash and error telemetry around hostname lookup as supporting evidence only.
Prepared
Confidence
high
Sources
7

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-125: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2021-22918 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
0Timeline events
0ADP providers
6Source links

CVSS and timeline data

No CVSS vectors or timeline events were available in the normalized CVE source material.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
NodeJSNode4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-125 · source CWE mapping

Out-of-bounds Read

Out-of-bounds Read represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.