Description
Impact: @fastify/reply-from versions from 8.3.1 up to but not including 12.6.4 build the internal URL cache key by concatenating the destination and source path without a delimiter. Different destination and source pairs can therefore produce the same key while resolving to different upstream URLs. When getUpstream selects an upstream from request data, a URL cached for one upstream can be reused for a request intended for another upstream, causing cross-upstream data access and modification. The default configuration is affected. Setting disableCache to true prevents the behavior. Patches: upgrade to @fastify/reply-from 12.6.4. Workarounds: pass disableCache: true when registering the plugin.
Published: 2026-07-18
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The error occurs when the internal cache key for @fastify/reply-from is built by concatenating the upstream destination and the source path without a delimiter. This allows different destination/source pairs that resolve to distinct upstream URLs to produce the same cache key. When the plugin selects an upstream based on request data, a cached route for one upstream can be reused for a request that is meant for another upstream, giving the attacker unauthorized read or write access to data belonging to a different upstream context. The vulnerability is a classic case of CWE‑441: Cross‑Context Request Share and can lead to confidentiality compromise and integrity violations.

Affected Systems

The affected product is @fastify/reply-from for JavaScript environments. Versions from 8.3.1 up to, but not including, 12.6.4 are vulnerable when the default configuration is used. All builds of the plugin that rely on the automatic URL cache mechanism are at risk unless explicitly configured otherwise.

Risk and Exploitability

The CVSS score of 8.7 classifies the issue as high severity. The EPSS score of less than 1% indicates a very low likelihood of exploitation in the wild, and the vulnerability is not listed in CISA’s KEV catalog. Attackers who can influence upstream selection or supply crafted requests can cause cross‑upstream data leakage or modification by exploiting the cache key collision. The default configuration amplifies risk, but the issue can be mitigated by disabling the cache or by applying the official patch.

Generated by OpenCVE AI on July 30, 2026 at 23:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade @fastify/reply-from to version 12.6.4 or later.
  • If upgrading is not immediately possible, configure the plugin with disableCache: true when calling reply-from during registration.
  • Review any custom request routing or caching logic that may influence upstream selection and ensure that it does not reuse cached responses across distinct upstreams.

Generated by OpenCVE AI on July 30, 2026 at 23:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Jul 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Fastify
Fastify fastify-reply-from
Vendors & Products Fastify
Fastify fastify-reply-from

Sat, 18 Jul 2026 12:45:00 +0000

Type Values Removed Values Added
Description Impact: @fastify/reply-from versions from 8.3.1 up to but not including 12.6.4 build the internal URL cache key by concatenating the destination and source path without a delimiter. Different destination and source pairs can therefore produce the same key while resolving to different upstream URLs. When getUpstream selects an upstream from request data, a URL cached for one upstream can be reused for a request intended for another upstream, causing cross-upstream data access and modification. The default configuration is affected. Setting disableCache to true prevents the behavior. Patches: upgrade to @fastify/reply-from 12.6.4. Workarounds: pass disableCache: true when registering the plugin.
Title @fastify/reply-from vulnerable to cross-upstream request routing via URL cache key collision
Weaknesses CWE-441
References
Metrics cvssV3_1

{'score': 8.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N'}


Subscriptions

Fastify Fastify-reply-from
cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-07-20T15:15:50.016Z

Reserved: 2026-07-17T21:22:28.153Z

Link: CVE-2026-16158

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T23:15:06Z

Weaknesses
  • CWE-441

    Unintended Proxy or Intermediary ('Confused Deputy')