{"answers":{"affected":"2 open source packages ship an affected version, including proxy-addr.","exploited":"There is no known exploitation of CVE-2026-90711 in the wild and no public exploit code.","fix":"Upgrade proxy-addr to 2.0.8 or later.","what":"CVE-2026-90711 is a critical vulnerability in proxy-addr, published on 15 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-90711 and fix it if it is affected.\n\nWhat it is: CVE-2026-90711 is a critical vulnerability in proxy-addr, published on 15 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-90711 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- proxy-addr (npm): affected from 1.1.0; fixed in 2.0.8\n- proxy-addr (npm): affected from 1.1.0; fixed in 2.0.8\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-90711/ (Markdown: https://insights.sbomify.com/CVE-2026-90711/index.md)","id":"CVE-2026-90711","markdown":"https://insights.sbomify.com/CVE-2026-90711/index.md","name":"CVE-2026-90711","record":{"aliases":["AZL-101775","CLEANSTART-2026-CT50806","DEBIAN-CVE-2026-90711","ECHO-0332-6c2f-c8ae","GHSA-jqcg-44mw-7w3h","MINI-2c8r-8gxx-5cpp","MINI-2gr9-886q-pc2f","MINI-384m-cxvh-gjmv","MINI-3m2v-c4x8-6jcq","MINI-3xx7-cwrw-7jwr","MINI-52xf-m77x-m54c","MINI-69qf-jf4h-qp96","MINI-8x52-8wx2-mgwf","MINI-8xfp-6v2p-w2hw","MINI-9wgh-54wm-j58h","MINI-c9gc-qv7r-985c","MINI-g3pm-2x24-wwmw","MINI-g43m-xw25-f9cc","MINI-h46m-8v44-3rvp","MINI-hxrx-5h83-rwgf","MINI-j8rq-q363-jm3r","MINI-jr74-hc2w-v45v","MINI-m8xj-5pj7-xx95","MINI-qj36-9cqm-g54f","MINI-r8cf-fpw2-fcr8","MINI-v757-4jvg-m594","MINI-vw6j-5c49-r4x6","MINI-vx2r-8x97-wc7q","ROOT-APP-NPM-CVE-2026-90711","UBUNTU-CVE-2026-90711"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":true,"product_category":"Node.js proxy library","requires_auth":"none","summary":"Attackers can spoof IP addresses by exploiting IPv4-mapped IPv6 trust subnet misconfigurations, bypassing IP-based access controls and rate limiting.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"openjs","cpe":[],"cvss":{"score":9.1,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-697","name":"Incorrect Comparison"},{"id":"CWE-348","name":"Use of Less Trusted Source"},{"id":"CWE-290","name":"Authentication Bypass by Spoofing"}],"description":"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. In versions 1.1.0 through 2.0.7, a trust subnet written in IPv4-mapped IPv6 notation with an IPv4-sized prefix, such as ::ffff:10.0.0.0/8 instead of the correct ::ffff:10.0.0.0/104, is accepted without error but trusts every IPv4 address on the internet rather than the block it names. Because the socket peer then becomes trusted at hop 0, any unauthenticated client can supply an arbitrary X-Forwarded-For header and control the address the application reads, which defeats IP-based access control, rate limiting, geolocation, and audit logging. This is a fail-open regression introduced in version 1.1.0. The issue is fixed in proxy-addr 2.0.8, and users should upgrade to 2.0.8 or later. As a workaround, ensure any IPv4-mapped IPv6 trust subnet uses a prefix length of at least 97, or express the range in plain IPv4 notation.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"proxy-addr vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnet","id":"CVE-2026-90711","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"security_feature_bypass","year":"2026"},"n_packages":2,"n_references":2,"next":{"headline":"Gitlawb openclaude xAI OAuth Callback xaiOAuthCallback.ts waitForCallback denial of service","id":"CVE-2026-90712"},"packages":[{"ecosystem":"npm","fixed":["2.0.8"],"introduced":["1.1.0"],"last_affected":[],"package":"proxy-addr","purl":null,"source":"GHSA-jqcg-44mw-7w3h"},{"ecosystem":"npm","fixed":["2.0.8"],"introduced":["1.1.0"],"last_affected":[],"package":"proxy-addr","purl":"pkg:npm/proxy-addr","source":"GHSA-jqcg-44mw-7w3h"}],"prev":{"headline":"taisan tarzan-cms Theme Download Function ThemeService.java openConnection server-side request forgery","id":"CVE-2026-90710"},"products":["proxy-addr"],"published":"2026-09-15","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-09-15","vendors":["proxy-addr"]},"summary":"Attackers can spoof IP addresses by exploiting IPv4-mapped IPv6 trust subnet misconfigurations, bypassing IP-based access controls and rate limiting.","url":"https://insights.sbomify.com/CVE-2026-90711/"}