CVE-2026-3635
CVE-2026-3635 is a medium-severity vulnerability in Fastify with a CVSS 3.x base score of 6.1. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-348.
Key facts
- Severity: Medium (CVSS 3.x base score 6.1)
- EPSS exploit prediction: 0% (7th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-14431
- Weakness: CWE-348
- Affected product: Fastify
- Published:
- Last modified:
Description
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 — 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.
Frequently asked questions
- What is CVE-2026-3635?
- 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 — 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.
- How severe is CVE-2026-3635?
- CVE-2026-3635 has a CVSS 3.x base score of 6.1, rated medium severity. It is exploitable over an adjacent network with high attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity none, and availability none.
- Is CVE-2026-3635 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (7th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-3635?
- CVE-2026-3635 affects Fastify. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-3635?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2026-3635 have an EU (EUVD) identifier?
- Yes. CVE-2026-3635 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-14431.
- When was CVE-2026-3635 published?
- CVE-2026-3635 was published on 2026-03-23 and last updated on 2026-06-17.
References
- https://cna.openjsf.org/security-advisories.html
- https://github.com/fastify/fastify/security/advisories/GHSA-444r-cwp2-x5xf
- https://www.cve.org/CVERecord?id=CVE-2026-3635
Affected products (1)
- cpe:2.3:a:fastify:fastify:*:*:*:*:*:node.js:*:*
More vulnerabilities in Fastify
- CVE-2026-84504 — High (CVSS 8.1): fastify versions before 5.12.2 treat the object resolved by a successful Ajv async validator as the value result…
- CVE-2026-84428 — High (CVSS 7.5): fastify versions before 5.12.2 implement the case-insensitive nature of HTTP header names by lowercasing names in a…
- CVE-2026-84469 — High (CVSS 7.5): fastify versions before 5.12.2 decide whether to compile a request schema based on JavaScript truthiness, but JSON…
- CVE-2026-76169 — High (CVSS 7.5): fastify versions >= 4.0.0 and before 5.12.2 can route a malformed URL sent under one plugin prefix to the custom…
- CVE-2026-33806 — High (CVSS 7.5): Impact: Fastify applications using schema.body.content for per-content-type body validation can have validation…
- CVE-2026-25223 — High (CVSS 7.5): Fastify is a fast and low overhead web framework, for Node.js. Prior to version 5.7.2, a validation bypass…
Other CWE-348 vulnerabilities
- CVE-2026-48772 — Critical (CVSS 10.0): ProxySQL is a proxy for MySQL and its forks, as well as PostgreSQL. In versions 2.0.0 through 3.0.8, the ProxySQL MySQL…
- CVE-2026-93483 — Critical (CVSS 9.5): In Znuny through 7.3.6, an attacker can bypass specific standard login procedures and gain unauthorized access to…
- CVE-2026-97404 — Critical (CVSS 9.2): In OpenStack Zaqar before 22.0.2, WSGI transport mishandles the URL-Signature header. By sending a request with an…
- CVE-2026-16272 — Critical (CVSS 9.1): Use of less trusted source vulnerability in PayTR Payment and Electronic Money Institution Inc. PayTR Virtual Pos…
- CVE-2026-58122 — Critical (CVSS 9.1): Hermes WebUI before 0.51.307 contains an authentication bypass vulnerability that allows unauthenticated remote…
- CVE-2026-12249 — Critical (CVSS 9.0): An issue was discovered in Canonical ADSys upstream versions through v0.16.2. During Active Directory Certificate…