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.
Fixes and workarounds
No remediation reported in collected sources.
Missing remediation information is not evidence that no patch exists.
Affected products and versions
| Product | Versions | Authority |
|---|---|---|
| @fastify/reply-from @fastify/reply-from @fastify/reply-from
npm |
≥ 0; < 12.8.1 (affected, semver) 12.8.1 (unaffected, semver) Other versions: unaffected |
CNA: openjs |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 3.1 / 8.2 high |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N | CNA: openjs |
| 3.1 / 8.2 high |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N | NVD: ce714d77-add3-4f53-aff5-83d477b104bb |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://github.com/fastify/fastify-reply-from/security/advisories/GHSA-vp2r-3vgv-32g9CNA: openjs
- https://cna.openjsf.org/security-advisories.htmlCNA: openjs
- https://cna.openjsf.org/security-advisories.htmlce714d77-add3-4f53-aff5-83d477b104bb
- https://github.com/fastify/fastify-reply-from/security/advisories/GHSA-vp2r-3vgv-32g9ce714d77-add3-4f53-aff5-83d477b104bb