Skip to main content

ip-address EUVDEUVD-2026-88399

| CVE-2026-101913 MEDIUM
Incorrect Comparison (CWE-697)
2026-09-28 GitHub_M GHSA-rpw4-54j3-4h4q
6.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify app using isLinkLocal as trust filter
  2. Exploit
    Craft fe80::/10 address outside fe80::/64
  3. Execution
    Submit address past boundary check
  4. Impact
    Reach on-link host outside intended trust boundary

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect comparison
Exploitation Conditions

Exploitation requires that the consuming application call Address6.isLinkLocal() and use its result as a trust-boundary or access-control decision (e.g. an SSRF or on-link filter that treats link-local addresses specially). The attacker must be able to supply an attacker-controlled IPv6 address that lies in fe80::/10 but outside the narrower fe80::/64 that the buggy method matched. Limiting factors: the flaw is inert if no security decision depends on isLinkLocal (the AT:P attack requirement); the vulnerable versions are <10.5.1; and impact is confined to confidentiality/reachability of an on-link host, with no integrity or availability effect.

Impact

This is a moderate, logic-level trust-boundary flaw rather than a directly exploitable memory or RCE bug. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L, base 6.3) reports network reach with no privileges or user interaction, but critically includes AT:P (Attack Requirements: Present) - signaling that exploitation depends on specific preconditions, namely that the consuming application actually uses Address6.isLinkLocal() as a security/trust decision. The CWE-697 (incorrect comparison) classification matches the root cause: isLinkLocal recognized only fe80::/64 instead of the full fe80::/10 link-local range. There is no EPSS score, no CISA KEV listing, and no public exploit code identified at time of analysis, so exploitation status is 'no public exploit identified.' The real-world risk is a function of downstream usage, not of the library alone: the impact is limited (VC:L/SC:L, confidentiality-only, no integrity or availability), and the flaw is inert unless an application relies on this exact method for an allow/deny filter. This is best treated as a widely-distributed-but-narrow-trigger issue - patch it because the library is popular and updating is cheap, not because of imminent mass exploitation. Note the vendor tags this 'Authentication Bypass' while the actual mechanism is a filter/trust-boundary bypass via incorrect range comparison, not credential bypass - verify semantics before triaging as auth-related.

Exploit ScenarioDerived

An application uses ip-address's Address6.isLinkLocal() as a trust-boundary or SSRF-style filter, assuming any link-local address is caught. An attacker supplies an IPv6 address within fe80::/10 but outside fe80::/64 (e.g. fe8f::...); the buggy check returns false, so the address is treated as non-link-local and permitted, allowing the attacker to reach an on-link host outside the intended trust boundary. No public exploit code is known, and success requires the target app to depend on this specific method for its security decision.

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

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

Alert me

AnalysisAIv1 – Sep 28, 2026

Trust-boundary bypass in the ip-address JavaScript library (all versions prior to 10.5.1) lets a remote, unauthenticated attacker who can supply or influence the IPv6 address being validated slip an address within the full fe80::/10 link-local range past Address6.isLinkLocal(), which only matched the narrower fe80::/64. Applications that use isLinkLocal() as an SSRF or on-link filter - the sole prerequisite for exploitation, reflected as AT:P in the CVSS 4.0 vector and AC:H in the independent assessment - may then be steered to reach a link-local host outside the intended trust boundary, with impact limited to confidentiality and reachability (C:L, S:C) and no integrity or availability effect. No public exploit code identified at time of analysis; the vendor fix is version 10.5.1.

RemediationAI

Upgrade to ip-address 10.5.1, which corrects isLinkLocal() to test the full fe80::/10 range and to normalize IPv4-mapped/NAT64 literals - install with npm install ip-address@10.5.1 (GitHub release tag v10.5.1, commit d03e960c7cc3179ef25c8a44b4f94dd499625546), and confirm the advisory GHSA-rpw4-54j3-4h4q. Where the upgrade cannot be applied immediately, stop treating isLinkLocal() as the sole gate for SSRF or on-link trust decisions: replace or supplement it with an explicit prefix test that the first 10 bits equal fe80 (equivalent to a /10 mask on the parsed address), or require both getType() and getScope() to agree before allowing the address - the trade-off is duplicated classification logic that must be kept in step with the library. As a network-level compensating control, block or restrict egress toward fe80::/10 destinations from application hosts that should not reach on-link peers; the trade-off is that over-broad blocking can break legitimate same-segment link-local traffic such as neighbor discovery or local discovery services, so scope it to the specific application egress path rather than the whole stack.

Affected VersionsENISA

ip-address < 10.5.1

Affected Packages

npm ip-address fix: 10.5.1

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

IPv6 link-local unicast addresses are defined as fe80::/10 by RFC 4291 §2.4, even though real deployments almost always allocate within the first /64 of that block. The library implemented isLinkLocal() in src/ipv6.ts using a fe80::/64 comparison, so any address in the remaining six /64 sub-blocks of fe80::/10 (e.g. fe80:0:0:1::/64 upward) returned false, while the same object's getType() and getScope() correctly classified it as link-local - an internally inconsistent comparison that maps to CWE-697 (Incorrect Comparison). The CPE cpe:2.3:a:beaugunderson:ip-address:*:*:*:*:*:*:*:* indicates the defect spans every published version before 10.5.1. The fix commit d03e960c7cc3179ef25c8a44b4f94dd499625546 broadens the check to the full fe80::/10 prefix and also delegates to the embedded IPv4 address for IPv4-mapped/NAT64 literals so that addresses such as ::ffff:169.254.169.254 are recognized as link-local, keeping isLinkLocal consistent with the rest of the special-property checks.

Know when JavaScript 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

Vendor (GitHub_M) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
vuln.today AI 4.0 MEDIUM

AC:H because exploitation depends on the app using isLinkLocal as a trust check; S:C as the bypass reaches a host beyond the intended boundary; C:L only, no integrity/availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
SUSE 5.8 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 19:01 EUVD
CVE Published
Sep 28, 2026 - 17:49 cve.org
MEDIUM 6.3

DescriptionCVE.org

ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Prior to 10.5.1, the Address6 isLinkLocal method in src/ipv6.ts recognizes only fe80::/64 instead of the complete fe80::/10 IPv6 link-local range. An attacker-controlled address elsewhere in fe80::/10 can therefore pass a trust-boundary check that relies on isLinkLocal. The same address is identified as link-local by getType and getScope, exposing the inconsistent classification. A successful bypass can reach an on-link host outside the intended trust boundary. This issue is fixed in version 10.5.1.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 npm packages depend on ip-address (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 10.5.1.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
High
ip-address is a very widely-depended-on npm IPv4/IPv6 parsing library
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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.4%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-102827 CRITICAL POC
9.8 Sep 29

Command injection in simple-git, the Node.js library for running git commands and published on npm, affects all releases

CVE-2026-77615 HIGH POC
8.7 Sep 17

Stored DOM-based cross-site scripting in Paella Player's closed-caption rendering path (paella-core before 2.12.11) allo

CVE-2026-92776 HIGH POC
8.6 Sep 16

Authorization bypass in Wiki.js through 2.5.314 allows an authenticated user who has been granted access to at least one

CVE-2026-102826 HIGH POC
8.1 Sep 29

Untrusted git configuration includes reachable through simple-git before 4.0.0 let an attacker execute arbitrary command

CVE-2026-85715 HIGH POC
7.5 Sep 17

Improper memory allocation control in ExifReader before 4.41.1 allows remote attackers to exhaust heap memory and termin

CVE-2026-102278 HIGH POC
7.5 Sep 28

Deeply nested brace patterns cause unbounded recursion in the npm brace-expansion library, exhausting the native stack a

CVE-2026-102276 HIGH POC
7.5 Sep 28

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

CVE-2026-92775 HIGH POC
7.1 Sep 16

Server-side request forgery in Wiki.js through 2.5.314 lets an authenticated user who holds page-editing permissions for

CVE-2026-101910 MEDIUM POC
6.9 Sep 28

The JavaScript library ip-address (npm) fails to treat the NAT64 local-use prefix 64:ff9b:1::/48 as private, so applicat

CVE-2026-101914 MEDIUM POC
6.5 Sep 28

Authorization bypass in the @grpc/grpc-js-xds package (the xDS/RBAC extension for @grpc/grpc-js) lets a request for one

CVE-2026-101912 MEDIUM POC
6.3 Sep 28

Cross-family subnet comparisons in the ip-address npm library (all versions before 10.7.1) can cause isInSubnet and isHo

CVE-2026-101911 MEDIUM POC
6.3 Sep 28

Denial of service in the ip-address JavaScript/npm library (all versions prior to 10.7.1) lets remote attackers stall or

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise High Performance Computing 12 Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected

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