CVE-2026-16158 PUBLISHED

@fastify/reply-from vulnerable to cross-upstream request routing via URL cache key collision

Assigner: openjs
Reserved: 17.07.2026 Published: 18.07.2026 Updated: 18.07.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
CVSS Score: 8.7

Product Status

Vendor @fastify/reply-from
Product @fastify/reply-from
Versions Default: unaffected
  • affected from 8.3.1 to 12.6.4 (excl.)
  • Version 12.6.4 is unaffected

Credits

  • HamdaanAliQuatil reporter
  • mcollina remediation developer
  • UlisesGascon remediation reviewer
  • climba03003 remediation reviewer

References

Problem Types

  • CWE-441: Unintended Proxy or Intermediary ('Confused Deputy') CWE