CyberSecBulletin
CVE-2026-16158NVD status: Analyzed

@fastify/reply-from: Unintended Proxy or Intermediary

CVE-2026-16158 is a critical-severity unintended proxy or intermediary vulnerability in @fastify/reply-from, with a CVSS 3.1 base score of 10.0 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists version 12.6.4 as the first without the flaw, so updating @fastify/reply-from to that release or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.38% chance of exploitation within 30 days, which is low compared with other CVEs.

Patch this week

Critical severity: a successful attack would have severe impact.

What to do

  1. Update @fastify/reply-from to 12.6.4 or a later version.
  2. Read the advisory on cna.openjsf.org for workarounds and exact fixed builds.
  3. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
@fastify/reply-from@fastify/reply-from8.3.1 up to, but not including, 12.6.412.6.4

Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
NetworkCan be exploited remotely over a network, including the internet.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
NoneNo account or login is needed.
User interaction
NoneNo action by a victim is required.
Scope
ChangedThe attack can reach beyond the vulnerable component into other systems.
Confidentiality
HighAll data handled by the component can be read.
Integrity
HighData or code can be modified at will.
Availability
NoneAvailability is not affected.

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.18.7HighCNA
CVSS 3.110.0CriticalNVD

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

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Unintended Proxy or Intermediary

The product receives a request, message, or directive from an upstream component, but the product does not sufficiently preserve the original source of the request before forwarding the request to an external actor that is outside of the product's control sphere.

How developers prevent this class of flaw

  • Enforce the use of strong mutual authentication mechanism between the two parties.
  • Whenever a product is an intermediary or proxy for transactions between two other components, the proxy core should not drop the identity of the initiator of the transaction. The immutability of the identity of the initiator must be maintained and should be forwarded all the way to the target.

More Unintended Proxy or Intermediary vulnerabilities (CWE-441)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
  3. Record last changed materially (score, affected products, status or references).

References

Other vulnerabilities in @fastify/reply-from

All @fastify/reply-from vulnerabilities

Recent Unintended Proxy or Intermediary vulnerabilities

Spotted an error? Tell us.