Vulnerability · Published Jul 18, 2026 · Assigned by openjs
CVE-2026-16117@fastify/http-proxy vulnerable to prefix escape via URL-encoded characters
Critical 10.0
In plain English
A critical-severity improper input validation in @fastify/http-proxy from @fastify/http-proxy. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 39% of all known vulnerabilities).
Official description
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 products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| @fastify/http-proxy | @fastify/http-proxy | 0 – before 11.6.0 |
Weakness: CWE-20 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N