CVE-2026-55568
Guzzle: Silent HTTPS-Proxy Downgrade to Cleartext
En resumen
El cliente HTTP Guzzle puede enviar accidentalmente tráfico de proxy en texto plano en lugar de cifrado, exponiendo contraseñas y datos sensibles al usar proxies HTTPS con versiones antiguas de cURL. Esto sucede silenciosamente sin advertencia.
Detalle técnico
CWE-311/319/636: Los manipuladores cURL de Guzzle aceptan URLs de proxy https://, pero libcurl <7.50.2 reduce silenciosamente a http:// sin cifrar, transmitiendo encabezados Proxy-Authorization, credenciales de proxy y metadatos de túnel CONNECT en texto plano. El vector de ataque requiere que la aplicación configure un proxy https:// con libcurl <7.50.2; el impacto incluye exposición de credenciales de proxy y divulgación de host/puerto destino en el salto del proxy.
Resumen generado y traducido por IA a partir de la descripción oficial.
Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, in certain configurations, traffic expected to be protected by TLS on the hop to the proxy is transmitted in cleartext. Proxy authentication credentials (the Proxy-Authorization header, proxy userinfo in the proxy URL, or CURLOPT_PROXYUSERPWD) are sent without encryption, and the CONNECT target host and port for tunneled HTTPS requests are exposed. The built-in cURL handlers (GuzzleHttp\Handler\CurlHandler and GuzzleHttp\Handler\CurlMultiHandler, used by default whenever the PHP cURL extension is available) accept an https:// proxy. libcurl older than 7.50.2 silently treats an https:// proxy as a plaintext http:// proxy. The TLS connection to the proxy is never established, and the proxy leg is cleartext with no error or warning. An application is affected when it sends requests through one of the built-in cURL handlers, configures an https:// proxy expecting the proxy connection itself to be encrypted, and runs with libcurl older than 7.50.2. This vulnerability is fixed in 7.12.1.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N