Skip to main content

Go net/http EUVDEUVD-2026-95428

| CVE-2026-94439 HIGH
HTTP Request/Response Smuggling (CWE-444)
2026-10-08 Go GHSA-2gfw-j3c5-j46w
7.5
CVSS 3.1 · Vendor: Go
View

Attack ChainAIDerived

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

  1. Access
    Identify Go HTTP/1 server behind proxy
  2. Delivery
    Send HTTP/1 CONNECT with smuggled request bytes
  3. Exploit
    Server returns 2xx without hijacking connection
  4. Execution
    Proxy tunnels data while server parses it as HTTP
  5. Impact
    Smuggled request processed out-of-band

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
Exploitation Conditions

Exploitation requires a specific, non-default server-side condition: an application HTTP handler that responds to an HTTP/1 CONNECT request with a 2xx status code AND then returns without hijacking (taking over) the underlying connection, causing the Go net/http server to keep reading HTTP requests on what should have become a tunnel. The practical impact further requires an intermediary proxy in front of the server that interprets the post-CONNECT bytes as tunneled data, creating the parser disagreement that enables request smuggling. Limiting factors: default handlers that do not 2xx-answer CONNECT, or that properly hijack the connection, are not affected; deployments with no fronting proxy see minimal impact; affected versions are net/http before 1.26.9 and the 1.27.x line before 1.27.2.

Impact

Despite a CVSS base score of 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N), the real-world priority is MODERATE-TO-LOW. Multiple independent signals converge against urgency: EPSS is only 0.18% (7th percentile), CISA SSVC lists Exploitation as 'none', and there is no KEV listing or public exploit. The one signal pointing toward concern is SSVC Automatable=yes with partial technical impact, consistent with CWE-444 request smuggling. The CVSS AC:L is arguably optimistic: the flaw only manifests when an application's own HTTP handler deliberately sends a 2xx response to an HTTP/1 CONNECT and then returns WITHOUT hijacking the connection - an atypical coding pattern - and smuggling only has impact when an intermediary proxy sits in front of the Go server and disagrees about whether the connection is a tunnel. These are non-default preconditions that AC:L does not capture, so the practical attack complexity is higher than the vector implies. Net assessment: a legitimate correctness/security bug worth patching in the normal cycle, not an emergency.

Exploit ScenarioDerived

A Go-based HTTP/1 server is deployed behind an intermediary proxy, and one of its handlers responds to a CONNECT request with a 2xx status but does not hijack the connection. An attacker sends a CONNECT request followed by smuggled bytes; the proxy treats the connection as an opaque tunnel while the Go server keeps parsing the trailing bytes as new HTTP requests, desynchronizing the two and enabling request smuggling. No public proof-of-concept is identified at time of analysis; exploitation requires both the specific handler behavior and a proxy in the request path.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 09, 2026

Request smuggling in the Go net/http standard library occurs when an application handler answers an HTTP/1 CONNECT request with a 2xx status and then returns without hijacking the connection, causing the server to keep parsing HTTP requests on a connection that an intermediate proxy now treats as an opaque tunnel. Affected builds are net/http before 1.26.9 and the 1.27.x line before 1.27.2 (CWE-444, parser disagreement between proxy and origin server). Exploitation requires a non-default handler pattern plus a fronting proxy, so despite the published CVSS base of 7.5 the assessed real-world priority is moderate-to-low; no public exploit code has been identified at time of analysis, EPSS is 0.18% (7th percentile), and CISA SSVC records Exploitation: none with Technical Impact: partial.

RemediationAI

Vendor-released patch: Go 1.26.9 and Go 1.27.2 (the 1.27.x fix supersedes all 1.27.0-0 through 1.27.1 releases). Rebuild and redeploy every affected Go binary with a patched toolchain, since the library fix is compiled into the binary rather than applied at runtime; track the advisory at https://pkg.go.dev/vuln/GO-2026-6613, the issue at https://go.dev/issue/81744, and the change at https://go.dev/cl/847311, with release notes at https://groups.google.com/g/golang-announce/c/U2fTuyDJznI. Until rebuilds are complete, the most effective compensating control is to remove the vulnerable handler pattern: any handler that can be reached with an HTTP/1 CONNECT should either reject the method with a non-2xx status, or, if it must tunnel, call Hijack and manage the connection itself so net/http never resumes HTTP parsing; the trade-off is that breaking the tunnel path disables legitimate CONNECT-based proxying or TLS-in-TLS use cases for those endpoints. As a secondary control, terminate or normalize CONNECT semantics at the fronting proxy (reject upstream CONNECT, rewrite or strip CONNECT before forwarding, or enforce strict request framing and reuse rules) so the parser disagreement cannot be constructed, at the cost of added proxy configuration complexity and possible incompatibility with legitimate tunneling clients. Deployments with no intermediary proxy in front of the Go server see minimal real-world exposure, but patching remains the correct fix because the underlying server behavior is the defect; note that generic input filtering does not address this class of framing disagreement.

Affected VersionsENISA

net/http 0 <1.26.9
net/http 1.27.0-0 <1.27.2

Affected Packages

go stdlib fix: 1.26.9, 1.27.2
euvd net_http fix: 1.26.9, 1.27.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

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

Technical ContextAI · show details

The affected component is the Go standard library's net/http server, identified by CPE cpe:2.3:a:go_standard_library:net/http:*:*:*:*:*:*:*:*, i.e. the HTTP/1.x server implementation shipped with the Go toolchain rather than a third-party web framework. Per HTTP semantics, a 2xx response to an HTTP/1 CONNECT request converts the connection into a bidirectional tunnel for arbitrary bytes, and the handler is expected to take ownership of the socket through the Hijacker interface (Hijack). In the vulnerable behavior, a handler that writes a 2xx status to CONNECT and then returns without hijacking leaves the connection under the control of net/http's server loop, which continues to read and dispatch what it interprets as further HTTP requests. This creates the classic CWE-444 inconsistent interpretation of HTTP requests: an upstream proxy that honored the CONNECT and switched to tunnel mode treats the same bytes as opaque tunneled payload, while the Go server treats them as HTTP, so attacker-influenced bytes can be re-framed across the two parsers and smuggled into subsequent requests. The root cause is therefore a state machine/lifecycle defect (connection mode not transitioned after a 2xx CONNECT), not a memory-safety bug; the impact envelope is bounded by the requirement that an application actually answer CONNECT with 2xx and return without hijacking, and by the presence of an intermediary that interprets post-CONNECT data as tunneled. The upstream fix is captured in Go CL 847311 (issue 81744), and the affected version ranges are net/http 0 < 1.26.9 and 1.27.0-0 < 1.27.2.

Know when Net Http 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 (Go) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.4 MEDIUM

Requires an atypical non-hijacking CONNECT handler plus a fronting proxy, so AC:H; parser desync across the proxy boundary is a scope change (S:C) yielding limited smuggling-based confidentiality/integrity impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Go).

CVSS VectorVendor: Go

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

3
CVSS changed
Oct 09, 2026 - 17:37 NVD
7.5 (HIGH)
CVE Published
Oct 08, 2026 - 22:53 cve.org
HIGH 7.5
CVE Published
Oct 08, 2026 - 22:53 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

When an HTTP server handler sends a 2xx response to an HTTP/1 CONNECT request and returns without hijacking the connection, the server improperly continues to read and serve requests from the connection. Since a 2xx response to an HTTP/1 CONNECT converts the connection into a tunnel, the server should not treat the connection as continuing to contain HTTP. The impact of this misbehavior is mostly limited to potential request smuggling, where an intermediate proxy considers the data on the connection to be tunneled and the server considers it to be HTTP.

Executive ViewAI

Why It Matters

A request-smuggling flaw in the Go net/http standard library affects applications built with net/http versions before 1.26.9 and 1.27.x before 1.27.2, potentially allowing traffic to bypass fronting proxy controls when a specific non-default handler pattern returns a 2xx to CONNECT without hijacking the connection. Because exploitation requires both that handler pattern and a fronting proxy, and no public exploit code has been identified, the immediate organizational risk is limited but still warrants inventory and patching, especially for customer-facing services behind reverse proxies. Leadership should prioritize upgrading affected Go-based services to vendor-fixed releases to prevent proxy-origin parsing disagreements that could undermine access controls.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
High
Go net/http is a core library behind many production backend services
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.

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

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