Skip to content
Heist/ feed
Unrated

HTTP/1 client connection desynchronization after CONNECT rejection in net/http

Type: advisorySource: Official CVE List1 source record

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.

Announced Source revision 1
Original source ↗

CVE-2026-56866

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-56866

net/http

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

net/http/httputil

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "vendor": "Go standard library",
    "product": "net/http",
    "versions": [
      {
        "status": "affected",
        "version": "0",
        "lessThan": "1.26.9",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "1.27.0-0",
        "lessThan": "1.27.2",
        "versionType": "semver"
      }
    ],
    "packageName": "net/http",
    "collectionURL": "https://pkg.go.dev",
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "persistConn.readLoop"
      },
      {
        "name": "Client.CloseIdleConnections"
      },
      {
        "name": "Client.Do"
      },
      {
        "name": "Client.Get"
      },
      {
        "name": "Client.Head"
      },
      {
        "name": "Client.Post"
      },
      {
        "name": "Client.PostForm"
      },
      {
        "name": "ClientConn.Close"
      },
      {
        "name": "ClientConn.RoundTrip"
      },
      {
        "name": "Get"
      },
      {
        "name": "Head"
      },
      {
        "name": "Post"
      },
      {
        "name": "PostForm"
      },
      {
        "name": "Transport.CloseIdleConnections"
      },
      {
        "name": "Transport.NewClientConn"
      },
      {
        "name": "Transport.RoundTrip"
      },
      {
        "name": "http1ClientConn.Close"
      },
      {
        "name": "http1ClientConn.RoundTrip"
      }
    ]
  },
  {
    "vendor": "Go standard library",
    "product": "net/http/httputil",
    "versions": [
      {
        "status": "affected",
        "version": "0",
        "lessThan": "1.26.9",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "1.27.0-0",
        "lessThan": "1.27.2",
        "versionType": "semver"
      }
    ],
    "packageName": "net/http/httputil",
    "collectionURL": "https://pkg.go.dev",
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "ReverseProxy.ServeHTTP"
      },
      {
        "name": "DumpRequestOut"
      }
    ]
  }
]
Related CVEs
CVE-2026-56866

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#16338 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement