CVE DatabaseCVE-2026-117518
한국어 권고문 →
CVE-2026-1175188.2/HIGHCWE-22

@fastify/reply-from Path Traversal and Proxy Bypass Vulnerability (CVE-2026-117518)

⚡ Jump to Patch
Affected Vendors
fastify
Affected Components
@fastify/reply-from
Published Date
2026-11-02
CVSS v3.1
8.2
HIGH
EPSS (30d)
0.5%
FIRST.org
CISA KEV
Not Listed

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Node.js applications utilizing @fastify/reply-from versions up to and including 12.8.0

Impact

Unauthenticated attackers can bypass path validation using backslashes (\) or percent-encoded backslashes (%5C) to escape the intended proxy prefix and access unauthorized upstream endpoints

Mitigation

Immediately upgrade @fastify/reply-from to version 12.8.1 or later, as there are no other official workarounds

Affected Products & Version Scope

All versions of @fastify/reply-from up to and including 12.8.0

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

There is no workaround other than upgrading the package. Update @fastify/reply-from to version 12.8.1 or later to resolve the issue.

bash
# For npm users
npm install @fastify/reply-from@12.8.1

# For yarn users
yarn add @fastify/reply-from@12.8.1

# For pnpm users
pnpm add @fastify/reply-from@12.8.1

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not possible, you can implement a temporary request-filtering hook in your Fastify application to reject requests containing backslashes or dot-segments before they reach the proxy plugin.

javascript
// Temporary request validation hook to block backslashes and traversal attempts
fastify.addHook('onRequest', async (request, reply) => {
  const decodedUrl = decodeURIComponent(request.raw.url);
  if (decodedUrl.includes('\\') || decodedUrl.includes('..')) {
    reply.code(400).send({ error: 'Bad Request', message: 'Suspicious path traversal pattern detected.' });
  }
});

3. Log Audit & IoC Verification Commands

Verify the installed version of the package and inspect your application logs for potential exploitation attempts containing backslashes or percent-encoded backslashes.

bash
# 1. Check the installed version of @fastify/reply-from
npm list @fastify/reply-from

# 2. Search access logs for backslashes (%5C or \) and path traversal patterns
grep -Ei '(%5C|\\|\.\.)' /var/log/nginx/access.log /var/log/apps/fastify-access.log
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Snyk Open Source & Container Security
Immediately upgrade @fastify/reply-from to version 12.8.1 or later to mitigate path traversal and unauthorized upstream access risks.

Scan Your Repositories for Transitive Vulnerable Dependencies in 30 Seconds

Automatically detect vulnerable packages across npm, PyPI, Maven, and Go, and open automated fix Pull Requests without breaking your build.

Free Forever Tier · 1-Click GitHub/GitLab Auto-PR
Master DevSecOps: Automated SAST/SCA in GitHub Actions & Kubernetes
View Course Curriculum

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability (CVE-2026-117518) is a path traversal and proxy bypass flaw in @fastify/reply-from, a Fastify plugin used to forward HTTP requests to upstream servers.

In affected versions (<= 12.8.0), the plugin validated proxy paths against forward-slash dot-segments (e.g., /../) only. However, when constructing the target URL, it utilized the WHATWG URL parser. The WHATWG URL parser normalizes backslashes (\) and their percent-encoded equivalents (%5C) into forward slashes (/) for http, https, ws, and wss schemes. This parser differential allows path traversal sequences containing backslashes to bypass the initial validation check and resolve to a different upstream path.

2. Exploitation Mechanics & Attack Scenario

An attacker can exploit this vulnerability by crafting a request containing backslash dot-segments:

  • Request Submission: The attacker sends a request to an endpoint, such as https://example.com/api/v1/proxy/..%5C..%5Cadmin.
  • Validation Bypass: The @fastify/reply-from validation logic only checks for forward-slash dot-segments, allowing the backslash-containing path to pass through unchecked.
  • URL Normalization: The WHATWG URL parser processes the target URL and normalizes ..%5C to ../.
  • Upstream Forwarding: The request escapes the intended proxy prefix and is forwarded to an unintended upstream endpoint (e.g., /admin), bypassing route guards and access controls.

3. Infrastructure & Business Impact

The exploitation of this vulnerability primarily impacts confidentiality, with a limited impact on integrity.

  • Exposure of Internal APIs: Attackers can access internal microservices, administrative endpoints, or backend APIs that are not meant to be exposed to the public internet.
  • Bypass of Security Controls: Any route guards, authentication middleware, or access control policies configured in front of the forwarding call can be bypassed, allowing unauthorized access to sensitive upstream resources.

Official Vendor Advisories & References

NVD Original English Description

@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.

Frequently Asked SecOps Questions (CVE-2026-117518)

FAQ

Q1. How critical is CVE-2026-117518 and is it actively exploited in the wild?

CVE-2026-117518 is rated CVSS 8.2 (HIGH) with a 30-day EPSS exploitation probability of 0.5%. Organizations running affected versions should prioritize patching based on network exposure.

Q2. Which vendors and products are affected by CVE-2026-117518?

Primary impacted vendors include fastify across @fastify/reply-from. Scope summary: All versions of @fastify/reply-from up to and including 12.8.0

Q3. What temporary mitigations or workarounds exist for CVE-2026-117518 before patching?

[Mitigation] Immediately upgrade @fastify/reply-from to version 12.8.1 or later, as there are no other official workarounds Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2026-117518

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (fastify)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2026-117518 @fastify/reply-from Path Traversal and Proxy Bypass Vulnerability (CVE-2026-117518) (CVSS 8.2) - Patch & Workaround | CVE Pulse