criticalCVSS 9.1Vulnerability

CVE-2026-90711

### Impact `proxy-addr` determines which network hops are trusted proxies so that `X-Forwarded-For` can be believed. When an application configures a trust subnet as an IPv4-mapped IPv6 address with a short prefix, such as `::ffff:10.0.0.0/8` (the correct spelling is `::ffff:10.0.0.0/104`), the subnet compiles with all-zero leading bits and matches every IPv4 address instead of the block it names. The same happens for any IPv6 trust subnet with zero leading bits, such as `::/1`. Every unauthenticated client is then trusted as a proxy at hop 0, so `proxyaddr(req, trust)`, and therefore `req.ip` and `req.ips` in Express, returns whatever the client sends in `X-Forwarded-For`. This defeats IP-based access control, rate limiting, geolocation, and audit logging. The misconfiguration compiles without any error, and the same block written correctly behaves correctly, so the difference is not visible from the configuration. ### Patches Upgrade to `proxy-addr` 2.0.8. An IPv4 address now matches an IPv6 trust subnet only when that subnet is a genuine IPv4-mapped subnet whose prefix covers the mapped marker. ### Workarounds Write IPv4 trust subnets in plain IPv4 notation (for example `10.0.0.0/8`). If IPv4-mapped IPv6 notation is required, use the full form so the prefix covers the mapped marker (for example `::ffff:10.0.0.0/104` for the `10.0.0.0/8` block).

Properties

severity
critical
summary
proxy-addr vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnet
epss_score
0.00332
cvss_score
9.1
retrieved_at
2026-10-06T03:06:48+00:00
ghsa_published
2026-10-05T23:30:26Z
source_url
https://github.com/advisories/GHSA-jqcg-44mw-7w3h
ghsa_updated
2026-10-05T23:30:27Z
ghsa_id
GHSA-jqcg-44mw-7w3h
last_source
FIRST EPSS
cve_id
CVE-2026-90711
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
signal_observed_at
2026-10-06T02:58:31+00:00
is_ghsa_only
false
epss_percentile
0.24141

Related Entities (7)

ENRICHED_BY (1)

→[Source]FIRST EPSS

HAS_WEAKNESS (3)

→[Weakness]Incorrect Comparison
→[Weakness]Authentication Bypass by Spoofing
→[Weakness]Use of Less Trusted Source

REPORTED_BY (1)

→[Source]GitHub Advisory Database

VULNERABLE_TO (1)

←[Software]npm/proxy-addr

AFFECTS (1)

→[Software]npm/proxy-addr

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-90711 (CVSS 9.1) — Ninja Signal Threat Intelligence | Ninja Signal