Skip to main content

@fastify/reply-from EUVDEUVD-2026-45373

| CVE-2026-16158 HIGH
Unintended Proxy or Intermediary ('Confused Deputy') (CWE-441)
2026-07-18 openjs
8.7
CVSS 3.1 · Vendor: openjs
Share

Severity by source

Vendor (openjs) PRIMARY
8.7 HIGH
AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
vuln.today AI
8.7 HIGH

Network-reachable and unauthenticated (AV:N/PR:N), but requires engineering colliding cache keys in a multi-upstream setup (AC:H); crossing the upstream boundary is a scope change (S:C) with high confidentiality and integrity impact, no availability effect.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

3
Patch available
Jul 18, 2026 - 15:17 EUVD
Analysis Generated
Jul 18, 2026 - 13:15 vuln.today
CVE Published
Jul 18, 2026 - 12:28 cve.org
HIGH 8.7

DescriptionCVE.org

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.

AnalysisAI

Cross-upstream data exposure in @fastify/reply-from (the Fastify HTTP reverse-proxy plugin) versions 8.3.1 through 12.6.3 lets remote attackers read and modify data belonging to a different upstream than the one intended. Because the internal response-cache key is built by concatenating the destination and source paths without a delimiter, distinct upstream/path pairs can collide on the same key, so a response cached for upstream A is served for a request routed to upstream B. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Identify multi-upstream reply-from gateway
Delivery
Craft colliding destination/source path pair
Exploit
Poison shared URL cache key
Execution
Route request to unintended upstream
Impact
Read or modify cross-upstream data

Vulnerability AssessmentAI

Exploitation Exploitation requires a deployment where @fastify/reply-from serves more than one upstream and where getUpstream() selects the upstream dynamically from request data, with the internal URL cache enabled - which is the default state. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The supplied CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N, base 8.7) reflects a network-reachable, unauthenticated issue with high confidentiality and integrity impact and a scope change - appropriate given the cross-upstream boundary crossing - but the AC:H flag is meaningful: exploitation depends on an attacker finding or forcing destination/source path pairs that collide on the same concatenated key and on the target using dynamic upstream selection, which raises effort and reduces reliability. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An application uses @fastify/reply-from as a gateway that routes to multiple upstream backends chosen from request data, with the default cache enabled. An attacker crafts requests whose destination and source path combinations concatenate to the same cache key as another tenant's upstream, causing the proxy to serve or accept data bound for a different backend and thereby leak or tamper with that upstream's responses. …
Remediation Vendor-released patch: upgrade @fastify/reply-from to 12.6.4, which fixes the cache-key construction, and update the dependency (and any lockfile) accordingly. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, identify all production Fastify services using @fastify/reply-from versions 8.3.1-12.6.3 and assess which have multiple upstream targets configured; search application logs for signs of cross-upstream response mixing such as inconsistent data patterns, misrouted responses, or backend data appearing in unintended contexts. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-45373 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy