CVE-2026-117518: @fastify/reply-from vulnerable to path traversal via backslash dot-segment prefix escape
@fastify/reply-from is a Fastify plugin that forwards requests to an upstream HTTP server. In versions up to and including 12.8.0, the plugin validated proxy paths against forward-slash dot-segments only and then built the target with the WHATWG URL parser, which normalizes a backslash and its percent-encoded form to a forward slash on the http, https, ws, and wss schemes. A path that uses backslash dot-segments therefore bypasses the traversal check and resolves to a different upstream path, so an application that scopes proxying to an upstream prefix, or relies on route guards in front of the forwarding call, can have an unauthenticated request escape the intended prefix and reach other upstream endpoints. The resulting access to unintended upstream resources is primarily a confidentiality impact with limited integrity impact. The issue is fixed in @fastify/reply-from 12.8.1, where the path is normalized and any segment resolving to a single or double dot, along with control characters and ambiguous whitespace, is rejected before the URL is constructed, and users should upgrade to 12.8.1 or later. There is no workaround other than upgrading.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
@fastify/reply-fromto a version that resolves this vulnerability.Fixed in 12.8.1
Event History
Frequently Asked Questions
Which deployments are exposed to unintended upstream access?
Applications using @fastify/reply-from through version 12.8.0 are exposed when they restrict forwarding to an upstream path prefix or depend on route guards before forwarding. Requests can escape that intended prefix and reach other upstream endpoints.
What does an attacker need to exploit this issue?
An attacker can exploit it remotely without privileges or user interaction by sending a proxy path containing backslash dot-segments or their percent-encoded form. The affected URL schemes are http, https, ws, and wss.
Are default proxy-path checks sufficient protection?
No. Affected versions checked only forward-slash dot-segments, while the WHATWG URL parser converts backslashes and encoded backslashes to forward slashes for the affected schemes.
What can be done if an upgrade cannot happen immediately?
No workaround is provided other than upgrading. Upgrade @fastify/reply-from to version 12.8.1 or later.