Skip to main content

Node CVE-2026-21717

| EUVDEUVD-2026-17182 MEDIUM
Use of Weak Hash (CWE-328)
2026-03-30 hackerone GHSA-326m-34v3-gv5p
5.9
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Irreversible hash functions
Impact

CVSS 5.9 reflects moderate severity with notable constraints: attack vector is network (AV:N), but complexity is high (AC:H), indicating the attacker must craft specific, non-trivial payloads to trigger meaningful degradation. EPSS exploitation probability is not provided, limiting real-world risk quantification. No KEV (CISA Known Exploited Vulnerabilities) status or public POC identified, suggesting theoretical or limited-scope practical exploitation to date. The vulnerability requires the target application to expose a JSON.parse() endpoint and process attacker-controlled input without rate-limiting or input size restrictions-a common pattern but not universal. The impact is denial of service (availability), not confidentiality or integrity breach. SSVC context: exploitation is likely feasible for motivated attackers (high AC reflects crafting burden, not technical barrier), automatable via simple JSON generators, and technical impact is limited to availability (single process degradation, not system-wide compromise or data loss). This is a real but moderate-priority issue, particularly for high-availability systems or public-facing APIs with strict SLA requirements. Organizations with request rate-limiting, JSON size caps, or WAF rules filtering malformed JSON are partially mitigated.

Exploit ScenarioDerived

An attacker discovers a Node.js application (version 22.x) hosting a public API endpoint that accepts JSON POST requests (e.g., a webhook or data import service). The attacker crafts a malicious JSON payload containing thousands of integer-like string keys (e.g., {'1':'a', '2':'b', '3':'c', ...}) and sends repeated requests to the endpoint. Each request triggers JSON.parse(), which internalizes the integer-like strings and causes hash collisions in V8's string table. After a few dozen requests, the Node.js process CPU usage spikes to 100% due to hash table rehashing overhead, and legitimate requests time out. The attacker can sustain the attack with low bandwidth; complex payload generation is required once, then repeated. No authentication is bypassed (the endpoint is public), and no data is exfiltrated, but the service becomes unavailable to other users.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAI

Denial of service in Node.js 20.x, 22.x, 24.x, and 25.x via predictable hash collisions in V8's string hashing mechanism allows unauthenticated remote attackers to degrade process performance by crafting requests with specially-crafted JSON payloads that trigger collision cascades in the internal string table. CVSS 5.9 (moderate severity, high attack complexity). No public exploit code or active exploitation confirmed at time of analysis.

RemediationAI

Upgrade Node.js to patched versions released in March 2026 for branches 20.x, 22.x, 24.x, and 25.x; exact patched version numbers should be verified at https://nodejs.org/en/blog/vulnerability/march-2026-security-releases. Debian users should apply DSA-6183-1 via their package manager (e.g., apt-get update && apt-get upgrade nodejs). Ubuntu users should check security advisories on their specific release via ubuntu.com/security. As an interim mitigation, implement request rate-limiting and JSON payload size caps on all endpoints accepting untrusted JSON input; monitor CPU usage for sustained spikes that may indicate hash collision attacks. Consider using a WAF or proxy to reject unusually large or semantically-suspicious JSON blobs.

Affected VersionsENISA

Node 13.0 <13.*
Node 12.0 <12.*
Node 19.0 <19.*
Node 14.0 <14.*
Node 7.0 <7.*
Node 5.0 <5.*
Node 20.20.1 ≤20.20.1
Node 15.0 <15.*
Node 11.0 <11.*
Node 8.0 <8.*
Node 6.0 <6.*
Node 4.0 <4.*
Node 18.0 <18.*
Node 16.0 <16.*
Node 10.0 <10.*
Node 17.0 <17.*
Node 24.14.0 ≤24.14.0
Node 22.22.1 ≤22.22.1
Node 9.0 <9.*
Node 25.8.1 ≤25.8.1

Affected Packages

euvd node no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

V8 (the JavaScript engine embedded in Node.js) implements a string interning and hashing system to optimize memory usage and string comparison performance. The vulnerability stems from a flawed hash function that maps integer-like strings (e.g., '123', '456') to their numeric value rather than deriving a strong cryptographic or distribution-resistant hash. This creates a concentrated collision risk in the hash table's bucket distribution. JSON.parse() automatically internalizes short strings encountered during parsing, making any endpoint accepting untrusted JSON input a direct attack vector. An attacker can construct JSON with many syntactically-valid but semantically-malicious integer-like string keys or values to flood the hash table with collisions, forcing expensive linear probing or rehashing operations. This is a classic algorithmic complexity (HashDoS) vulnerability affecting the string table data structure underlying V8's string object management.

Know when Node gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu MEDIUM
SUSE 6.3 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Red Hat 5.9 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Mar 30, 2026 - 19:07 nvd
MEDIUM 5.9

DescriptionNVD

A flaw in V8's string hashing mechanism causes integer-like strings to be hashed to their numeric value, making hash collisions trivially predictable. By crafting a request that causes many such collisions in V8's internal string table, an attacker can significantly degrade performance of the Node.js process.

The most common trigger is any endpoint that calls JSON.parse() on attacker-controlled input, as JSON parsing automatically internalizes short strings into the affected hash table.

This vulnerability affects 20.x, 22.x, 24.x, and 25.x.

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

Ubuntu

Priority: Medium
nodejs
Release Status Version
trusty needs-triage -
xenial needs-triage -
bionic needs-triage -
focal needs-triage -
jammy needs-triage -
noble needs-triage -
questing needs-triage -
upstream released 22.22.2+dfsg+~cs22.19.15-1

Debian

nodejs
Release Status Fixed Version Urgency
bullseye vulnerable 12.22.12~dfsg-1~deb11u4 -
bullseye (security) vulnerable 12.22.12~dfsg-1~deb11u7 -
bookworm, bookworm (security) vulnerable 18.20.4+dfsg-1~deb12u1 -
trixie fixed 20.19.2+dfsg-1+deb13u2 -
trixie (security) fixed 20.19.2+dfsg-1+deb13u2 -
forky vulnerable 22.22.1+dfsg+~cs22.19.15-1 -
sid fixed 22.22.2+dfsg+~cs22.19.15-1 -
(unstable) fixed 22.22.2+dfsg+~cs22.19.15-1 -

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise High Performance Computing 12 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Fixed
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy