Description
fastify is a fast and low overhead web framework for Node.js. Impact: the fix for CVE-2026-3635 added a guard on the forwarded-header reads used to derive the request host, protocol, hostname, ip, and ips values, checking the connecting address. That guard closes the IP, CIDR, and custom-function forms of trustProxy correctly, because those forms compile to predicates that inspect the connecting address. The hop-count form, where trustProxy is set to a number, compiles to a predicate that structurally ignores the address, so the guard is always satisfied for any hop count of one or more. Applications configured with a numeric trustProxy value, such as trustProxy set to 1 for a single reverse proxy, remain vulnerable: an attacker who can reach the Fastify origin directly, bypassing the front-facing proxy, can spoof the forwarded request fields exactly as in the unpatched version. The impact class matches the parent CVE-2026-3635, including host injection in generated URLs, HTTPS-enforcement bypass, secure-cookie and CSRF-origin bypass, and host-based routing and cache poisoning. Affected versions are fastify from 5.8.3 up to but not including 5.12.1. Patches: patched in fastify 5.12.1, where the numeric form of trustProxy is disabled at runtime and removed from the TypeScript type union. Workarounds: migrate to an IP, CIDR, or custom-function trustProxy value that validates the connecting address, and ensure the Fastify origin is only reachable through the trusted proxy chain.
Published: 2026-08-18
Score: 6.1 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises because the guard added to protect forwarded header reads at the time of CVE‑2026‑3635 does not apply to the numeric hop-count form of trustProxy. When trustProxy is set to a number (e.g., 1 for a single reverse proxy), the guard always succeeds regardless of the connecting address, leaving applications that use this configuration exposed. Attacks that directly reach the Fastify origin can forge X‑Forwarded‑* headers, leading to host injection in URLs, HTTPS‑enforcement bypass, secure‑cookie and CSRF‑origin bypass, and host‑based routing and cache poisoning. This falls under CWE‑348.

Affected Systems

The affected product is the Fastify web framework for Node.js, version 5.8.3 through 5.12.1 (exclusive). The security fix is bundled in 5.12.1 and later releases, where the numeric form of trustProxy is disabled at runtime and removed from the TypeScript type union. Applications that cannot upgrade yet are advised to adjust their configuration settings.

Risk and Exploitability

The CVSS score of 6.1 indicates a moderate severity, and the vulnerability is not listed in CISA’s KEV catalog. The EPSS score is not available, so the probability of exploitation is uncertain. Nonetheless, the attack requires direct network reach to the Fastify origin behind the proxy, which is common in improperly hardened deployments. An attacker can exploit this by sending forged headers that the server will accept, resulting in the aforementioned host‑based attacks. Immediate patching or configuration changes are recommended to eliminate the risk.

Generated by OpenCVE AI on August 18, 2026 at 21:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Fastify to version 5.12.1 or later.
  • Reconfigure trustProxy to an address‑based form such as a specific IP, CIDR block, or custom function that validates the connecting address.
  • Ensure the Fastify origin is not directly reachable from external networks, allowing traffic only through the trusted proxy chain.

Generated by OpenCVE AI on August 18, 2026 at 21:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 21:45:00 +0000

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

Tue, 18 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Description fastify is a fast and low overhead web framework for Node.js. Impact: the fix for CVE-2026-3635 added a guard on the forwarded-header reads used to derive the request host, protocol, hostname, ip, and ips values, checking the connecting address. That guard closes the IP, CIDR, and custom-function forms of trustProxy correctly, because those forms compile to predicates that inspect the connecting address. The hop-count form, where trustProxy is set to a number, compiles to a predicate that structurally ignores the address, so the guard is always satisfied for any hop count of one or more. Applications configured with a numeric trustProxy value, such as trustProxy set to 1 for a single reverse proxy, remain vulnerable: an attacker who can reach the Fastify origin directly, bypassing the front-facing proxy, can spoof the forwarded request fields exactly as in the unpatched version. The impact class matches the parent CVE-2026-3635, including host injection in generated URLs, HTTPS-enforcement bypass, secure-cookie and CSRF-origin bypass, and host-based routing and cache poisoning. Affected versions are fastify from 5.8.3 up to but not including 5.12.1. Patches: patched in fastify 5.12.1, where the numeric form of trustProxy is disabled at runtime and removed from the TypeScript type union. Workarounds: migrate to an IP, CIDR, or custom-function trustProxy value that validates the connecting address, and ensure the Fastify origin is only reachable through the trusted proxy chain.
Title fastify vulnerable to X-Forwarded-* spoofing under trustProxy hop-count
Weaknesses CWE-348
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-08-18T20:30:22.592Z

Reserved: 2026-07-23T07:30:53.415Z

Link: CVE-2026-16732

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T21:16:34.063

Modified: 2026-08-18T21:16:34.063

Link: CVE-2026-16732

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T21:30:04Z

Weaknesses
  • CWE-348

    Use of Less Trusted Source