Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify input reaching Address6 parser
-
ExploitSubmit string with many % characters
-
ExecutionTrigger quadratic-complexity parsing
-
ImpactExhaust CPU and stall application
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the consuming application pass attacker-controlled input containing many '%' characters into a function that invokes the ip-address library's Address6 constructor (the IPv6 parsing path); this is reflected by the CVSS AT:P attack requirement. The flaw is not triggered against the library in isolation - a code path that forwards untrusted input to Address6 parsing must exist and be reachable. Limiting factors: impact is availability-only and partial (CPU consumption/application stall, VA:L, not a hard crash of unrelated systems), and the vulnerable path must handle untrusted data for network-reachable exploitation to apply. Upgrading to ip-address 10.7.4 or later removes the condition. |
| Impact | This is a medium-severity denial-of-service issue (CVSS 4.0 base 6.3, CWE-1333 inefficient regular expression / quadratic complexity) in the 'ip-address' npm library before 10.7.4. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) indicates a network-reachable, low-complexity, unauthenticated vector, but the AT:P flag signals an attack requirement - the vulnerable Address6 code path must actually receive attacker-controlled input, so it is not universally reachable. Impact is limited to availability only (VC:N/VI:N/VA:L), confirming no confidentiality or integrity exposure and only partial/low availability degradation (CPU consumption and application stall rather than full crash). No EPSS score, CISA KEV listing, or public POC was provided in the input; exploitation status is therefore 'no public exploit identified at time of analysis.' Net assessment: this is a real but modest-priority issue - a classic ReDoS/algorithmic-complexity bug whose severity depends heavily on whether the consuming application exposes the Address6 parsing path to untrusted input. For most deployments it is a patch-on-schedule item rather than an emergency, with higher urgency only where ip-address parses user-supplied strings on a request-handling hot path. |
| Exploit ScenarioDerived | An attacker submits a crafted input string containing a large number of '%' characters into an application field (for example an IPv6 zone/address value) that the application forwards to a function using the ip-address library's Address6 constructor. The quadratic-complexity parsing causes sustained CPU consumption and stalls the Node.js event loop, degrading or halting service for other users. No public proof-of-concept was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
Denial of service in the ip-address npm library before 10.7.4 allows unauthenticated remote attackers to consume CPU and stall applications that pass untrusted input containing many '%' characters into the Address6 IPv6 constructor. The flaw is CWE-1333 inefficient regular expression / quadratic complexity, rated medium severity (CVSS 4.0 base 6.3), with availability-only partial impact; exploitation depends on a reachable application code path that forwards attacker-controlled data to Address6 parsing (CVSS AT:P). No public exploit code was identified at time of analysis, and upgrading to 10.7.4 or later removes the condition.
RemediationAI
Vendor-released patch: 10.7.4. Upgrade the ip-address dependency to 10.7.4 or later, and verify the resolved version in package-lock.json or your dependency tree because transitive consumers may pin older releases. If immediate upgrade is not possible, add compensating controls at the application boundary: reject or truncate inputs with excessive '%' characters before calling Address6, enforce a strict maximum input length, and validate IPv6 zone-identifier syntax rather than passing raw user data into the constructor. These input-validation controls carry a trade-off of potentially rejecting legitimate zone-scoped IPv6 addresses and requiring careful allowlisting; rate limiting or request timeouts can reduce CPU-exhaustion impact but may affect legitimate high-volume clients. See the vendor advisory at https://github.com/beaugunderson/ip-address/security/advisories/GHSA-rxp7-6hxx-x8q5 for update details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The ip-address library is a JavaScript/npm package for parsing, validating, and manipulating IPv4 and IPv6 addresses. Its Address6 constructor handles IPv6 literals and zone/scope identifiers, which use the '%' delimiter (for example, fe80::1%eth0). CWE-1333 describes inefficient regular expression complexity: input with many '%' characters drives quadratic-time processing in the parsing path, causing excessive CPU consumption and application stalls. The CPE cpe:2.3:a:beaugunderson:ip-address:*:*:*:*:*:*:*:* covers releases before 10.7.4. The issue is availability-only and partial (VA:L); it does not by itself crash unrelated systems, and network-reachable exploitation requires that a consuming application expose a code path that sends untrusted input to the Address6 constructor.
Know when npm 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Network-reachable parsing of untrusted input with no auth or interaction (AV:N/AC:L/PR:N/UI:N), availability-only partial impact from CPU exhaustion (A:L), no confidentiality or integrity effect, no scope change.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
2DescriptionCVE.org
ip-address before 10.7.4 allows a denial of service (CPU consumption from quadratic complexity, and application stall) via many % characters in input reaching a function call that uses the Address6 constructor.
Blast Radius
ecosystem impact- 58 npm packages depend on ip-address (11 direct, 47 indirect)
Ecosystem-wide dependent count for version 10.7.4.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
The npm ci command in npm 7.x and 8.x through 8.1.3 proceeds with an installation even if dependency information in pack
DNS rebinding against the local Streamable HTTP MCP listener in @zereight/mcp-gitlab before 2.1.30 lets a malicious web
Archive extraction in the Node.js decompress package allows a crafted archive containing chained symlink entries to reso
The legacy DOC renderer in File Viewer emits document-controlled hyperlink targets into generated HTML after character e
Untrusted git configuration includes reachable through simple-git before 4.0.0 let an attacker execute arbitrary command
A remote, unauthenticated denial-of-service condition in the NestJS (Nest) microservices framework lets an attacker cras
Deeply nested brace patterns cause unbounded recursion in the npm brace-expansion library, exhausting the native stack a
Stack exhaustion in the npm library brace-expansion (all versions prior to 1.1.19, 2.1.5, 3.0.7, and 5.0.10) lets a craf
The JavaScript library ip-address (npm) fails to treat the NAT64 local-use prefix 64:ff9b:1::/48 as private, so applicat
Cross-family subnet comparisons in the ip-address npm library (all versions before 10.7.1) can cause isInSubnet and isHo
Denial of service in the ip-address JavaScript/npm library (all versions prior to 10.7.1) lets remote attackers stall or
A credential-isolation flaw in geelen mcp-remote 0.1.16 through 0.1.38 allows a remote attacker who controls or can pred
EUVD-2026-103378
GHSA-p3hm-x653-5rc6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB