Skip to main content

fastify-http-proxy EUVDEUVD-2026-115117

| CVE-2026-120213 CRITICAL
Path Traversal (CWE-22)
2026-11-02 openjs
9.1
CVSS 3.1 · Vendor: openjs
View

Attack ChainAIDerived

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

  1. Access
    Send request with encoded separators in route parameter
  2. Delivery
    Plugin URL-decodes %2f and %23/%3f into real '/' and delimiters
  3. Exploit
    Injected segments strip the enforced rewritePrefix suffix
  4. Execution
    Proxy forwards crafted path to upstream
  5. Impact
    Reach restricted upstream location (path-restriction bypass, SSRF or authorization bypass)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the proxy application to be configured with BOTH a parameterized prefix and a parameterized rewritePrefix that substitute a route parameter to pin clients to a fixed upstream path (e.g. prefix '/tenants/:tenantId/public-avatar', rewritePrefix '/:tenantId/public-avatar'); deployments that do not use parameterized rewritePrefix are not affected. The attacker needs no authentication and no user interaction, and crafts a parameter value that percent-encodes a path separator (%2f) together with a fragment (%23) or query (%3f) delimiter. Realistic impact is bounded by what the upstream exposes behind the proxy - the bypass reaches upstream paths outside the intended prefix, so authorization-bypass or SSRF severity depends on the specific upstream service. The only limiting factor is the required vulnerable configuration; there is no workaround other than upgrading to 11.6.6.

Impact

The vendor (OpenJS) CVSS of 9.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) describes a network-reachable, low-complexity, unauthenticated flaw with high confidentiality and integrity impact and no availability impact, which is internally consistent with the description of an unauthenticated prefix-escape. The vuln.today Decision label is act_now, reinforcing high urgency. However, the raw CVSS overstates the universal real-world risk because exploitation is conditional: only deployments that use parameterized prefix AND rewritePrefix to pin clients to a fixed upstream path are vulnerable - this is a specific, non-default proxy configuration, so the population of actually-exploitable installs is a subset of all @fastify/http-proxy users. No EPSS score and no KEV status were provided in the input, so there is no signal of observed in-the-wild exploitation or a quantified exploitation probability - treat the act_now label as a priority recommendation rather than evidence of active exploitation. The GHSA advisory includes concrete worked example requests demonstrating the bypass, so a public PoC reference exists even though it is not supplied as a verified standalone working exploit. Net: this is a genuine high priority for teams running the vulnerable configuration behind a public proxy, but a lower practical risk for deployments that do not use parameterized rewritePrefix.

Exploit ScenarioDerived

An application fronts an internal service with @fastify/http-proxy configured as prefix '/tenants/:tenantId/public-avatar' and rewritePrefix '/:tenantId/public-avatar' to confine clients to a public avatar path. An unauthenticated remote attacker sends GET /tenants/admin%2fmaster-keys%23/public-avatar; the plugin URL-decodes the parameter, the %2f becomes a real '/' and %23 becomes '#', injecting extra path segments and stripping the mandatory '/public-avatar' suffix so the proxy forwards GET /admin/master-keys to the upstream. The advisory provides these exact example requests as a public PoC reference (not verified as packaged working exploit code).

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available

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

Alert me

AnalysisAIv1 – Nov 02, 2026

Path-restriction bypass in @fastify/http-proxy 9.0.0 through 11.6.5 lets unauthenticated remote attackers escape an intended upstream prefix by supplying a route parameter that decodes into path separators and fragment or query delimiters, potentially enabling SSRF or authorization bypass in the upstream service. Exploitation requires the application to use both parameterized prefix and rewritePrefix options to pin clients to a fixed upstream path; deployments without that configuration are not affected. The vendor-priority decision is act_now, the fix is version 11.6.6, there is no workaround other than upgrading, and no public exploit was identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade @fastify/http-proxy to 11.6.6 or later; the advisory states the issue is fixed in >= 11.6.6 and that there is no workaround other than upgrading. Identify any Fastify applications using parameterized prefix together with parameterized rewritePrefix so they are prioritized for the upgrade, since those are the deployments exposed to the prefix escape. Advisory URLs: https://github.com/fastify/fastify-http-proxy/security/advisories/GHSA-h3vp-4jfr-v364 and https://cna.openjsf.org/security-advisories.html.

Affected VersionsENISA

@fastify/http-proxy 9.0.0 <11.6.6

Affected Packages

euvd fastify_http_proxy fix: 11.6.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

@fastify/http-proxy is a Fastify plugin that forwards HTTP requests to an upstream server under a configured prefix. The flaw is a path-restriction bypass rooted in CWE-22 and CWE-436: when parameterized prefix and rewritePrefix options substitute a route parameter into the upstream path, the plugin inserts the URL-decoded parameter value without re-encoding it. A value that percent-encodes a path separator (%2f) together with a fragment (%23) or query (%3f) delimiter therefore becomes real separators and delimiters after decoding, injecting extra upstream path segments and stripping the mandatory suffix the rewritePrefix was meant to enforce, all without using dot-dot traversal. The vendor advisory gives the example configuration prefix '/tenants/:tenantId/public-avatar' and rewritePrefix '/:tenantId/public-avatar', where requests such as /tenants/admin%2fmaster-keys%23/public-avatar and /tenants/admin%2fusers%3ftruncate=/public-avatar forward GET /admin/master-keys and GET /admin/users respectively, dropping the /public-avatar suffix. The CPE data is a wildcard for @fastify/http-proxy, while the advisory narrows affected releases to >= 9.0.0 and < 11.6.6. The trigger is configuration-dependent: exploitation requires both a parameterized prefix and a parameterized rewritePrefix; deployments that do not use parameterized rewritePrefix are not affected. The assessed vector is AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, so the attacker needs no authentication and no user interaction, but realistic impact is bounded by what the upstream exposes behind the proxy.

Know when Fastify Http Proxy 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 (openjs) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 9.1 CRITICAL

Unauthenticated network attacker (PR:N) sends a simple crafted encoded request (AC:L); the required vulnerable proxy config is an operator deployment choice, not attacker privilege; high C/I via upstream access, no availability impact (A:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Nov 02, 2026 - 11:01 EUVD
CVE Published
Nov 02, 2026 - 10:15 cve.org
CRITICAL 9.1

DescriptionCVE.org

@fastify/http-proxy is a Fastify plugin that proxies HTTP requests to an upstream server under a configured prefix. In versions 9.0.0 through 11.6.5, when an application uses parameterized prefix and rewritePrefix options to pin clients to a fixed upstream path, the plugin substitutes URL-decoded route parameters into rewritePrefix without re-encoding them. A parameter value that encodes a path separator together with a fragment or query delimiter therefore decodes into real separators and delimiters that inject extra upstream path segments and strip the mandatory suffix the rewritePrefix was meant to enforce, without using any dot-dot traversal. An unauthenticated remote attacker can use this to reach upstream locations outside the intended prefix, leading to path-restriction bypass and, depending on the upstream, server-side request forgery or authorization bypass in the proxied service. The issue is fixed in @fastify/http-proxy 11.6.6, and users should upgrade to 11.6.6 or later. There is no workaround other than upgrading.

Technical POC Analysis

Bug class: CWE-22, with the mechanism also matching CWE-436.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A critical vulnerability in the widely used @fastify/http-proxy package (affecting versions 9.0.0 through 11.6.5) could allow unauthenticated attackers to bypass path restrictions and potentially access internal services or perform unauthorized actions, particularly in applications that use parameterized prefix and rewritePrefix configurations. This impacts any service relying on the proxy for access control, and while no active exploitation has been observed, the severity and potential for lateral movement warrant immediate attention from security leadership.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis

Threat Intelligence Overview

Prevalence
Medium
popular Fastify npm proxy plugin, but vulnerable config pattern is a subset
Social Media
4
Sightings
Data Quality
5 sources
Confidence: Medium

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 CRITICAL
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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