Skip to main content

Fastify Reply From CVE-2026-33805

| EUVDEUVD-2026-22877 CRITICAL
Improper Neutralization of HTTP Headers for Scripting Syntax (CWE-644)
2026-04-15 openjs GHSA-gwhp-pf74-vj37
9.0
CVSS 4.0 · Vendor: openjs
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send crafted HTTP request with malicious Connection header
  2. Delivery
    Proxy processes Connection header after adding security headers
  3. Exploit
    Target headers stripped from upstream request
  4. Execution
    Upstream service receives request missing expected auth/control headers
  5. Impact
    Bypass access controls or security policies

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization HTTP header neutralization
Exploitation Conditions

Remote exploitation against default network-accessible Fastify proxy configurations using @fastify/reply-from ≤12.6.1 or @fastify/http-proxy ≤11.4.3. Attack succeeds when the proxy uses rewriteRequestHeaders to add security-relevant headers (authentication tokens, client identifiers, authorization scopes, rate-limit keys) AND upstream services trust these headers for access control decisions without independent validation. CVSS AT:P (Attack Requirements Present) indicates attackers must identify which specific headers the proxy adds through reconnaissance (e.g., observing legitimate proxied requests or reviewing application documentation). No authentication required (PR:N). No user interaction needed (UI:N). Exploitation fails or has limited impact when upstream services use defense-in-depth (mutual TLS, signed tokens, independent authentication) rather than relying solely on proxy-inserted headers. Attack complexity is low (AC:L) once the target header names are known.

Impact

CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) indicates network-based unauthenticated exploitation with low complexity but present attack requirements. The dual high-integrity scores (VI:H and SI:H) reflect impact on both the vulnerable proxy and subsequent upstream systems - a critical distinction for defense-in-depth architectures. EPSS 0.04% (13th percentile) suggests low observed exploitation activity despite proof-of-concept availability per SSVC. This apparent contradiction likely reflects the vulnerability's deployment-specific impact: exploitation only succeeds where upstream services trust proxy-added headers for access control. The SSVC 'Automatable: yes' classification is accurate for the exploitation mechanics but misleading for real-world impact - successful attacks require reconnaissance to identify which headers the target proxy adds and which upstream systems trust them. Priority depends on deployment: CRITICAL for proxies that add authentication/authorization headers relied upon by backend services (common in zero-trust architectures, multi-tenant SaaS, API gateways with header-based auth). MODERATE for basic reverse proxies where header manipulation causes logging issues rather than security bypasses. Missing data: No confirmation whether this affects default Fastify configurations or requires specific rewriteRequestHeaders implementations.

Exploit ScenarioDerived

Attacker identifies a Fastify-based API gateway that adds X-Client-Auth: trusted-user to requests forwarded to internal microservices. The attacker sends an HTTP request with Connection: X-Client-Auth, causing @fastify/reply-from to strip the proxy-added authentication header. The upstream microservice receives the request without the expected auth header, either denying access (fail-safe) or defaulting to anonymous/low-privilege access. If the microservice improperly handles missing headers by granting default access, the attacker bypasses intended authentication controls. Proof-of-concept code exists per SSVC data.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Apr 17, 2026

HTTP header smuggling in @fastify/reply-from ≤12.6.1 and @fastify/http-proxy ≤11.4.3 allows remote unauthenticated attackers to strip proxy-added security headers from upstream requests via malicious Connection header values. Attackers can retroactively remove headers intended for routing, access control, or authentication, potentially bypassing proxy-enforced security policies. CVSS 9.0 (Critical) with high integrity impact to both vulnerable and subsequent systems. EPSS 0.04% indicates low mass-exploitation probability despite proof-of-concept availability (SSVC). Vendor patches available: upgrade to @fastify/reply-from ≥12.6.2 or @fastify/http-proxy ≥11.4.4.

Earlier versions of this analysis (1)
v1 Apr 15, 2026 - 12:39 CVSS 9.0

Header smuggling in @fastify/reply-from (≤12.6.1) and @fastify/http-proxy (≤11.4.3) allows remote unauthenticated attackers to strip proxy-added security headers by manipulating the Connection header, bypassing access controls and routing policies. Affected deployments using these Node.js packages as reverse proxies face immediate risk of authentication bypass and security control evasion. CVSS 9.0 (Critical) reflects network-based attack with low complexity and no authentication required. No public exploit identified at time of analysis, but exploitation technique is well-understood in HTTP protocol contexts.

RemediationAI

Upgrade @fastify/reply-from to version 12.6.2 or later, or upgrade @fastify/http-proxy to version 11.4.4 or later. For environments where immediate upgrade is not feasible, implement input validation to reject or sanitize client-supplied Connection headers before proxy processing - specifically strip any Connection header values that match names of proxy-added headers. This workaround carries performance overhead and requires maintaining an allowlist of proxy-inserted header names. Alternatively, configure upstream services to NOT rely solely on proxy-added headers for authentication/authorization decisions; use cryptographic signatures or mutual TLS for trust validation between proxy and upstream services, though this represents architectural rework rather than tactical mitigation. Organizations using affected versions should audit rewriteRequestHeaders callbacks to identify security-critical headers and assess upstream trust assumptions. Vendor advisories: https://github.com/fastify/fastify-reply-from/security/advisories/GHSA-gwhp-pf74-vj37 and https://cna.openjsf.org/security-advisories.html. NVD reference: https://nvd.nist.gov/vuln/detail/CVE-2026-33805.

Affected VersionsENISA

@fastify/reply-from 0 <12.6.2

Affected Packages

npm @fastify/http-proxy fix: 11.4.4
npm @fastify/reply-from fix: 12.6.2
euvd fastify_reply_from fix: 12.6.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

@fastify/reply-from is a Node.js library for proxying HTTP replies, commonly used in Fastify-based reverse proxies and API gateways. The vulnerability exploits RFC 9110 Connection header semantics, where clients can list headers to be removed during hop-by-hop processing. The flaw (CWE-644: Improper Neutralization of HTTP Headers for Scripting Syntax) occurs because the library processes the client-supplied Connection header AFTER the proxy's rewriteRequestHeaders callback has added its own headers. This timing issue enables attackers to name proxy-inserted headers (e.g., X-Forwarded-For, X-Auth-Token) in the Connection header, causing the library to strip them before forwarding the request upstream. @fastify/http-proxy (affected ≤11.4.3) inherits this vulnerability as it internally delegates to @fastify/reply-from. The attack subverts the proxy's intended security posture by removing headers that upstream services rely on for authorization decisions, rate limiting, or client identification.

Know when Fastify Reply From gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (openjs) PRIMARY 9.0 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:L/SI:H/SA:N
Red Hat 7.4 HIGH

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch released
Apr 16, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 15, 2026 - 10:13 nvd
CRITICAL 9.0

DescriptionCVE.org

@fastify/reply-from v12.6.1 and earlier and @fastify/http-proxy v11.4.3 and earlier process the client's Connection header after the proxy has added its own headers via rewriteRequestHeaders. This allows attackers to retroactively strip proxy-added headers from upstream requests by listing them in the Connection header value. Any header added by the proxy for routing, access control, or security purposes can be selectively removed by a client. @fastify/http-proxy is also affected as it delegates to @fastify/reply-from.

Upgrade to @fastify/reply-from v12.6.2 or @fastify/http-proxy v11.4.4 or later.

Executive ViewAI

Why It Matters

HTTP header smuggling vulnerabilities in Fastify proxy modules (@fastify/reply-from ≤12.6.1 and @fastify/http-proxy ≤11.4.3) allow unauthenticated attackers to strip security headers from proxied requests, potentially bypassing authentication and access control policies enforced at the proxy layer. Organizations using these modules for API gateways or reverse proxies face immediate risk of unauthorized access to backend systems and data exposure.

Business Impact: High
Compensating Controls

Apply vendor patch. If immediate patching is not possible, implement WAF rules to detect and block malicious Connection header values; enforce header validation at upstream services to reject requests missing expected security headers; and monitor proxy logs for Connection header anomalies indicating exploitation attempts.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Social Media
2
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +45
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy