CVE-2026-101911 · GHSA-h3mg-xc3c-68pw
ip-address: Address6 builds a parse diagnostic proportional to the input with no length bound, allowing a single long string to stall or crash the process
- Risk score
- 52/100
- CVSS
- 6.3 v4.0
- Exploit chance (30 days)
- 0.3%
- Published
- 28 Sep 2026
Open in the live forecast Today's forecast
What to know
- What it is
- ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Prior to 10.7.1, the Address6 constructor, Address6.isValid, and parse code in src/ipv6.ts accept unbounded strings and expand invalid characters through RE_BAD_CHARACTERS into large diagnostics. Material impact occurs only whe…
- Affected
- ip-address (npm) <= 10.7.0
- Fix
- Upgrade ip-address to 10.7.1 or later.
- Exploitation
- Public proof of concept
Story map
At a glance
ip-address: Yellow, plan it in. ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. From 10.2.0 until 10.5.1, the Address6 isPrivate classifier in src/ipv6.ts does not recognize the NAT64 local-use range 64:ff9b:1::/48. Applications that combine isPrivate, isLoopback, and isLinkLocal for a trust-boundary decis…
The flaws
- CVE-2026-101911: Address6 builds a parse diagnostic proportional to the input with no length bound, allowing a single long string to stall or crash the process (CVSS 6.3 · EPSS 0%)
- CVE-2026-101910: No classifier recognizes the NAT64 local-use range 64:ff9b:1::/48, allowing SSRF and trust-boundary bypass (CVSS 6.9 · EPSS 0%)
- CVE-2026-101913: Address6.isLinkLocal() recognizes fe80::/64 rather than fe80::/10, allowing SSRF and trust-boundary bypass to on-link hosts (CVSS 6.3 · EPSS 0%)
- CVE-2026-101912: IsInSubnet() and isHostInSubnet() compare addresses of different families as if they shared an address space, allowing an allowlist check to admit an address outside its range (CVSS 6.3 · EPSS 0%)
The fix
Upgrade ip-address: 10.7.1 · 10.5.1 or later on your release line
Who is exposed: ip-address (npm) >= 10.2.0, <= 10.5.0
Where it stands
- Public proof of concept
Connects to
- Same weakness: Denial of service (CWE-400). 253 other warnings in 30 days
Why it is Yellow
- CVSS 6.3 medium
- Public exploit or proof of concept referenced
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| ip-address | npm | <= 10.7.0 | 10.7.1 |
References
- https://github.com/advisories/GHSA-h3mg-xc3c-68pw
- https://github.com/beaugunderson/ip-address/security/advisories/GHSA-h3mg-xc3c-68pw
- https://nvd.nist.gov/vuln/detail/CVE-2026-101911
- https://github.com/beaugunderson/ip-address/commit/469ead1231b4cc059f2150c626e1e0c2895c0134
- https://github.com/beaugunderson/ip-address/commit/8b34a21e0839b37c094066816fb2c2c48a2adcf5
- https://github.com/beaugunderson/ip-address/releases/tag/v10.7.1
- https://github.com/advisories/GHSA-h3mg-xc3c-68pw
Original description
ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Prior to 10.7.1, the Address6 constructor, Address6.isValid, and parse code in src/ipv6.ts accept unbounded strings and expand invalid characters through RE_BAD_CHARACTERS into large diagnostics. Material impact occurs only when an application accepts a very large attacker-controlled field and passes it to Address6 parsing without an earlier length bound. Common URL and header limits, and common body-parser defaults, generally constrain the effect; common defaults typically exclude 32 MiB fields. Megabyte-scale fields can cause a synchronous stall and high transient memory use, approximately 16 MiB can trigger an invalid string length exception, and process termination occurs at approximately 32 MiB. The affected entry points include Address6.isValid and construction paths that reach parse. This issue is fixed in version 10.7.1.
Last activity 28 Sep 2026. Patch Forecast updates every hour.