Description
When http.Transport sends an HTTP/1 CONNECT request with a non-empty Request.Body, it writes the body directly to the connection without framing after the request headers. If the server rejects the CONNECT request with a non-2xx keep-alive response, Transport returns the connection to the idle pool. Because CONNECT requests do not have a request body, the server may interpret the trailing body bytes as a subsequent pipelined HTTP/1.1 request on the connection, leaving the pooled connection desynchronized and causing the next caller that reuses it to read the response to the injected request. In reverse proxies (including httputil.ReverseProxy) that forward CONNECT requests through a shared Transport, this can lead to cross-user response poisoning.
Published: 2026-10-08
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized response poisoning across users via HTTP CONNECT desynchronization
Action: Update Library
AI Analysis

Impact

When a client sends a CONNECT request with a non‑empty body, the Go http.Transport writes the body directly to the connection after the headers. If the server rejects the CONNECT with a non‑2xx keep‑alive response, the transport returns that connection to the idle pool. Because CONNECT requests have no body, the server can interpret the trailing body bytes as a new pipelined HTTP request. The reused connection may then deliver the attacker‑controlled response to another client, resulting in cross‑user response poisoning. This flaw exposes internal application data to unintended parties and can lead to unauthorized disclosure. The weakness involves improper handling of persistent connections and leftover data in the connection stream.

Affected Systems

The vulnerability affects the Go standard library packages net/http and net/http/httputil used in any Go application that employs an http.Transport or ReverseProxy. No specific version range is defined in the advisory, so any use of these packages prior to the fix is potentially susceptible.

Risk and Exploitability

The CVSS score is 7.5, EPSS is 0.00166, and the issue is not listed in the CISA KEV catalog. The low EPSS indicates a very low likelihood of exploitation, but the vulnerability still allows an attacker who controls a client to poison responses in Go applications that share HTTP transports. The exploitation requires an attacker to control a client that uses a shared Transport to send a CONNECT request with a body to a server that rejects the request. The attacker then injects an HTTP request into the body that the server processes as a new request, leaving the idle connection desynchronised. Depending on the target application and the data exposed by the poisoned response, the impact could range from information disclosure to functional manipulation of downstream requests. In environments where Go applications share Transport instances across users, the risk is amplified, although the lack of publicly available severity metrics suggests a moderate to high potential risk pending further assessment.

Generated by OpenCVE AI on October 9, 2026 at 17:54 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a patched Go release that addresses GO-2026-6605
  • If an upgrade must be delayed, configure the http.Transport to disable keep‑alive for connections that perform CONNECT requests, e.g., set .DisableKeepAlives=true or use a dedicated transport instance per user
  • Avoid sending a body with CONNECT requests or validate that no body is sent before initiating the request

Generated by OpenCVE AI on October 9, 2026 at 17:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8935-1 Go vulnerabilities
History

Fri, 09 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

cvssV3_1

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


Fri, 09 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-444
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}

threat_severity

Moderate


Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Go Standard Library
Go Standard Library net/http
Go Standard Library net/http/httputil
Vendors & Products Go Standard Library
Go Standard Library net/http
Go Standard Library net/http/httputil

Thu, 08 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
Description When http.Transport sends an HTTP/1 CONNECT request with a non-empty Request.Body, it writes the body directly to the connection without framing after the request headers. If the server rejects the CONNECT request with a non-2xx keep-alive response, Transport returns the connection to the idle pool. Because CONNECT requests do not have a request body, the server may interpret the trailing body bytes as a subsequent pipelined HTTP/1.1 request on the connection, leaving the pooled connection desynchronized and causing the next caller that reuses it to read the response to the injected request. In reverse proxies (including httputil.ReverseProxy) that forward CONNECT requests through a shared Transport, this can lead to cross-user response poisoning.
Title HTTP/1 client connection desynchronization after CONNECT rejection in net/http
References

Subscriptions

Go Standard Library Net/http Net/http/httputil
cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-10-09T15:54:59.009Z

Reserved: 2026-06-23T15:10:49.354Z

Link: CVE-2026-56866

cve-icon Vulnrichment

Updated: 2026-10-09T15:50:23.374Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-08T23:17:01.620

Modified: 2026-10-09T16:35:35.900

Link: CVE-2026-56866

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-08T22:53:58Z

Links: CVE-2026-56866 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T18:00:12Z

Weaknesses
  • CWE-444

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')