CVE-2026-16117: @fastify/http-proxy vulnerable to prefix escape via URL-encoded characters
Impact: @fastify/http-proxy versions up to and including 11.5.0 fail to rewrite the request prefix when the prefix segment is URL-encoded. Fastify's router URL-decodes paths for route matching, but request.url retains the original encoded form, and the prefix-rewrite step uses a literal string replace against the decoded prefix. A request that encodes one or more characters of the configured prefix therefore matches the route but skips the rewrite, so the raw encoded path is forwarded to the upstream unchanged. The upstream then decodes the path and serves it, letting an attacker reach upstream paths that the proxy was configured to hide via rewritePrefix, including internal or administrative endpoints.
Patches: upgrade to @fastify/http-proxy 11.6.0.
Workarounds: none.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
@fastify/http-proxyto a version that resolves this vulnerability.Fixed in 11.6.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-16117?
The severity of CVE-2026-16117 is critical with a score of 10.
How do I fix CVE-2026-16117?
To fix CVE-2026-16117, upgrade to @fastify/http-proxy version 11.5.1 or later.
What impact does CVE-2026-16117 have on my application?
CVE-2026-16117 allows attackers to bypass the intended request prefix rewrite, potentially leading to unauthorized access.
Which versions of @fastify/http-proxy are affected by CVE-2026-16117?
@fastify/http-proxy versions up to and including 11.5.0 are affected by CVE-2026-16117.
What is the nature of the vulnerability in CVE-2026-16117?
CVE-2026-16117 is an input validation vulnerability caused by improper handling of URL-encoded characters in request prefixes.