Skip to main content

Node proxy addr: proxy-addr is a Node.js module that determines a request's client address behind trusted reverse proxies, and it backs Express req.ip and req.ips. (CVE-2026-90711)

0
Medium
Published: 09/15/2026 (09/15/2026, 07:16:00 UTC)
Source: GCVE Database
Product: node-proxy-addr

Description

The Node.js module proxy-addr versions 1.1.0 through 2.0.7 improperly handle IPv4-mapped IPv6 trust subnets with an IPv4-sized prefix, causing them to trust all IPv4 addresses instead of the intended subnet. This allows unauthenticated clients to spoof the X-Forwarded-For header and control the client IP address seen by the application, undermining IP-based access controls, rate limiting, geolocation, and audit logging. The issue was introduced in version 1.1.0 and fixed in version 2.0.8. Users should upgrade to 2.0.8 or later or apply a workaround by correctly specifying the prefix length or using plain IPv4 notation for trust subnets.

CVSS v3.1

Score 9.1critical

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Affected software

Ubuntu:16.04:LTSmore threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=xenial
Affected versions
=1.0.3-1
Ubuntu:18.04:LTSmore threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=bionic
Affected versions
=1.0.3-1
Ubuntu:20.04:LTSmore threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=focal
Affected versions
=1.0.3-1
Ubuntu:22.04:LTSmore threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=jammy
Affected versions
=2.0.6+~0.1.2-1=2.0.7+~cs2.3.0-1
Ubuntu:24.04:LTSmore threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=noble
Affected versions
=2.0.7+~cs2.3.0-1
Ubuntu:26.10more threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=stonking
Affected versions
=2.0.7+~cs2.3.7-1
Ubuntu:26.04:LTSmore threats →ghsa
node-proxy-addr
pkg:deb/ubuntu/node-proxy-addr?arch=source&distro=resolute
Affected versions
=2.0.7+~cs2.3.0-1=2.0.7+~cs2.3.7-1

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 10/17/2026, 23:15:18 UTC

Technical Analysis

proxy-addr is a Node.js module used to determine client IP addresses behind trusted reverse proxies, supporting Express's req.ip and req.ips. Versions 1.1.0 through 2.0.7 contain a fail-open vulnerability where a trust subnet written in IPv4-mapped IPv6 notation with an incorrect IPv4-sized prefix (e.g., ::ffff:10.0.0.0/8) is accepted without error but effectively trusts every IPv4 address globally. This causes the socket peer to be trusted at hop 0, allowing any unauthenticated client to supply an arbitrary X-Forwarded-For header and manipulate the client IP address the application reads. This defeats IP-based access control, rate limiting, geolocation, and audit logging mechanisms. The vulnerability was introduced in version 1.1.0 and fixed in version 2.0.8. The recommended remediation is to upgrade to proxy-addr 2.0.8 or later. As a workaround, users can ensure IPv4-mapped IPv6 trust subnets use a prefix length of at least 97 or express the range in plain IPv4 notation.

Potential Impact

This vulnerability allows unauthenticated attackers to spoof client IP addresses by manipulating the X-Forwarded-For header, bypassing IP-based access controls, rate limiting, geolocation restrictions, and audit logging. This can lead to unauthorized access, evasion of security controls, and inaccurate logging of client activity. The vulnerability does not affect availability but has high confidentiality and integrity impacts as indicated by the CVSS score of 9.1.

Mitigation Recommendations

A fix is available in proxy-addr version 2.0.8 and later; users should upgrade to these versions to remediate the vulnerability. As a temporary workaround, ensure that any IPv4-mapped IPv6 trust subnet uses a prefix length of at least 97 or specify the trusted range using plain IPv4 notation. No other vendor advisory information contradicts these recommendations.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
UBUNTU-CVE-2026-90711
Osv Schema Version
1.7.0
Ecosystems
["Ubuntu:16.04:LTS","Ubuntu:18.04:LTS","Ubuntu:20.04:LTS","Ubuntu:22.04:LTS","Ubuntu:24.04:LTS","Ubuntu:26.10","Ubuntu:26.04:LTS"]
Cvss Version
3.1

Threat ID: 6ad3f5342cdf04f6566585f4

Added to database: 10/17/2026, 22:22:44 UTC

Last enriched: 10/17/2026, 23:15:18 UTC

Last updated: 10/17/2026, 23:15:18 UTC

Views: 2

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses