« Volver al listado

CVE-2026-56866

Estado: Pendiente de análisisAlta (7.5)—

Cuando http.Transport envía una solicitud HTTP/1 CONNECT con un Request.Body no vacío, escribe el cuerpo directamente en la conexión sin entramado después de las cabeceras de la solicitud. Si el servidor rechaza la solicitud CONNECT con una respuesta keep-alive distinta de 2xx, Transport devuelve la conexión al grupo de conexiones inactivas.

Leer descripción completaMostrar menos

Como las solicitudes CONNECT no tienen cuerpo, el servidor puede interpretar los bytes finales del cuerpo como una solicitud HTTP/1.1 posterior canalizada (pipelined) en la conexión, dejando la conexión del grupo desincronizada y haciendo que el siguiente llamante que la reutilice lea la respuesta a la solicitud inyectada. En proxies inversos (incluido httputil.ReverseProxy) que reenvían solicitudes CONNECT a través de un Transport compartido, esto puede provocar el envenenamiento de respuestas entre usuarios.

Traducción automática del texto original de NVD (en inglés).

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vulnerabilidad de red sin autenticación (PR:N) en servicio remoto HTTP/1 que permite lectura de respuestas ajenas (C:H) mediante desincronización de conexiones reutilizadas en proxies inversos.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-56866",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-56866",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-09T15:53:00.591143Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.5,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security@golang.org",
      "affectedData": [
        {
          "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"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-08T23:17:01.620",
  "references": [
    {
      "url": "https://go.dev/cl/847306",
      "source": "security@golang.org"
    },
    {
      "url": "https://go.dev/issue/81740",
      "source": "security@golang.org"
    },
    {
      "url": "https://groups.google.com/g/golang-announce/c/U2fTuyDJznI",
      "source": "security@golang.org"
    },
    {
      "url": "https://pkg.go.dev/vuln/GO-2026-6605",
      "source": "security@golang.org"
    }
  ],
  "vulnStatus": "Awaiting Analysis",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "description": [
        {
          "lang": "en",
          "value": "CWE-444"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    }
  ],
  "lastModified": "2026-10-09T16:35:35.900",
  "sourceIdentifier": "security@golang.org"
}