Cyber Resilience

CVE-2026-3635

Fastify ≤ 5.8.3

Published
23 March 2026
Modified
16 April 2026
Patch / advisory
CVSS Score v3.1 6.1
Click a component to see what it means
Raw vectorCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
EPSS Score 0.0012 2th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2026-3635 is a medium-severity Use of Less Trusted Source (CWE-348) vulnerability in Fastify Fastify. Its CVSS base score is 6.1 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 2th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Summary When trustProxy is configured with a restrictive trust function (e.g., a specific IP like trustProxy: '10.0.0.1', a subnet, a hop count, or a custom function), the request.protocol and request.host getters read X-Forwarded-Proto and X-Forwarded-Host headers from any connection —…

more

including connections from untrusted IPs. This allows an attacker connecting directly to Fastify (bypassing the proxy) to spoof both the protocol and host seen by the application. Affected Versions fastify <= 5.8.2 Impact Applications using request.protocol or request.host for security decisions (HTTPS enforcement, secure cookie flags, CSRF origin checks, URL construction, host-based routing) are affected when trustProxy is configured with a restrictive trust function. When trustProxy: true (trust everything), both host and protocol trust all forwarded headers — this is expected behavior. The vulnerability only manifests with restrictive trust configurations.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1557 Adversary-in-the-Middle Credential Access
Adversaries may attempt to position themselves between two or more networked devices using an adversary-in-the-middle (AiTM) technique to support follow-on behaviors such as [Network Sniffing](https://attack.
Why these techniques?

Vuln in public-facing Fastify server allows direct header spoofing of X-Forwarded-Proto/Host to bypass trustProxy checks, directly enabling T1190 exploitation and facilitating T1557 MITM-style manipulation of security decisions (protocol/host).

Confidence: MEDIUM · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-33806Same product: Fastify Fastify
CVE-2026-3419Same product: Fastify Fastify
CVE-2025-32442Same product: Fastify Fastify
CVE-2026-25223Same product: Fastify Fastify
CVE-2026-25224Same product: Fastify Fastify
CVE-2026-33807Same vendor: Fastify
CVE-2026-15631Same vendor: Fastify
CVE-2026-16117Same vendor: Fastify
CVE-2026-33805Same vendor: Fastify
CVE-2025-66415Same vendor: Fastify

Affected Assets

fastify
fastify
≤ 5.8.3

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-10 Information Input Validation
  • AC-4 Information Flow Enforcement
  • SC-7 Boundary Protection
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 7 hardening rules · 4 OS baselines
Validate
Prove the fix (OWASP ASVS)

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly requires validation of X-Forwarded-Proto/Host headers against the trustProxy source-IP/subnet/function before they are used to derive request.protocol or request.host.

prevent

Enforces information-flow rules so that protocol/host values are only accepted from explicitly trusted proxy addresses, blocking spoofed headers from direct attacker connections.

prevent

Boundary-protection mechanisms can be configured to ensure all traffic reaching the application has already passed through the designated trusted proxy, eliminating the direct-connection attack path.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

ID.RA-09 mostly match
prevents

Explicit authenticity/integrity checks before use directly reduce selection of a less-trusted source.

DE.AE-03 partial match
prevents

Correlating multiple sources can surface discrepancies that discourage reliance on the less-trusted one.

PR.DS-02 partial match
prevents

Protecting data-in-transit integrity helps ensure the more-trusted source is the one whose data is accepted.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure architecture principles include trusted input channels and source verification mechanisms.

detects

Security testing can detect and prevent acceptance of data from less-trusted sources during development.

degrades

Network security controls can enforce trusted data paths and source validation, reducing reliance on unverified inputs.

degrades

Secure network services include source validation and integrity checks that help prevent acceptance of data from less-trusted origins.

prevents

Application security requirements can mandate trusted data sources and input validation, directly addressing the weakness.

prevents

Secure coding practices can enforce checks that prefer or validate the more trusted data source.

Hardening callouts derived

Configuration rules from DISA STIG baselines that reduce the attack surface for weaknesses of the type cited by this CVE. Derived transitively via CVE→CWE→STIG over `controls_xwalks` (authoritative rows only).

Oracle Linux 8 (1 rule)
  • V-248575 OL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. via CWE-348
Oracle Linux 9 (1 rule)
  • V-271525 OL 9 must have GPG signature verification enabled for all software repositories. via CWE-348

References