Grahamcampbell

#3504of 55,125
75.7Total CVSS
Vulnerabilities · 11
Medium
7
High
4
PT-2026-67319
6.9
2026-07-20
Composer · Guzzle · CVE-2026-67339
**Name of the Vulnerable Software and Affected Versions** guzzlehttp/guzzle versions prior to 7.14.2 **Description** The built-in cURL handlers (`CurlHandler` and `CurlMultiHandler`) fail to properly isolate `Proxy-Authorization` headers from origin servers. This occurs because the handlers place first-class request headers into the origin header list (`CURLOPT HTTPHEADER`) and only move them to the proxy-only list (`CURLOPT PROXYHEADER`) when an HTTP or HTTPS proxy is predicted. Consequently, proxy credentials may be sent to the origin server if the request is direct, bypassed via `no proxy` settings, sent through a SOCKS proxy, or redirected from a proxied hop to a non-proxied route. On systems with libcurl older than 7.37.0 or PHP cURL extensions lacking `CURLOPT PROXYHEADER`, `CURLOPT HEADEROPT`, and `CURLHEADER SEPARATE`, no proxy-only channel is available, leaving the header in the origin list for all routes. Additionally, the stream handler may expose credentials when combined with raw `stream context.http.proxy` overrides. An attacker controlling the origin server can capture these private credentials through access logs or tracing systems. This could allow the attacker to abuse access-controlled proxies or impersonate the proxy principal. **Recommendations** Update guzzlehttp/guzzle to version 7.14.2. As a temporary workaround, remove first-class `Proxy-Authorization` fields from requests, client defaults, and middleware, and instead provide proxy credentials via proxy URL userinfo (e.g., `http://user:pass@proxy.example:8080`) or use `CURLOPT PROXYUSERPWD` with cURL handlers. Avoid combining proxy URL userinfo with first-class fields or raw `stream context.http.proxy` overrides.
PT-2026-67328
8.2
2026-07-20
Composer · Guzzle · CVE-2026-67355
**Name of the Vulnerable Software and Affected Versions** guzzlehttp/guzzle versions prior to 7.15.1 **Description** The `CookieJar` component fails to preserve the host-only scope of response cookies that are set without a `Domain` attribute or with an empty one. Instead of marking these cookies as host-only, the software stores the request host in the `Domain` field. This behavior allows cookies intended exclusively for a parent host to be sent to child hosts if the same cookie jar is reused across different trust boundaries. An attacker controlling a child host could potentially intercept sensitive information, such as session identifiers and authorization tokens. This issue affects `FileCookieJar` and `SessionCookieJar` as well, as they persist the request host without recording the host-only state. The vulnerability is triggered when an application enables cookie support, reuses a built-in cookie jar, and makes requests to both a trusted parent host and a less-trusted child host. **Recommendations** Update guzzlehttp/guzzle to version 7.15.1 or later. As a temporary workaround, avoid reusing a single `CookieJar` instance across parent and child hosts with different trust levels. Use a separate cookie jar for each host or trust boundary. Disable cookie handling for requests made to less-trusted hosts. Avoid using `new Client(['cookies' => true])` for clients that contact both trusted parent hosts and less-trusted subdomains. Delete or rotate existing `FileCookieJar` and `SessionCookieJar` data that was written by versions prior to 7.15.1.