Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-346.
Summary
Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, CookieJar incorrectly accepts cookies with a dot-only Domain attribute and whitespace-padded variants. SetCookie::matchesDomain() removes leading dots from the cookie domain, normalizing dot-only values to the empty string; SetCookie::validate() only rejected a strictly empty domain, so these cookies could be stored and the empty normalized domain was treated as matching any request host. An attacker-controlled origin that an application requests with a shared cookie jar can therefore set a cookie that Guzzle later sends to unrelated hosts using the same jar. This may allow cookie injection or session fixation against downstream services, depending on how those services interpret the injected cookie. This vulnerability is fixed in 7.12.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| guzzle | guzzle | before 7.12.1 | 7.12.1 | Patch available | CNA |
| — | guzzlehttp/guzzle (Packagist) | before 7.12.1 | 7.12.1 | Patch available | GHSA-cwxw-98qj-8qjx |
- guzzle Vendorguzzle Affected before 7.12.1 Fixed in 7.12.1 Patch available CNA
- guzzlehttp/guzzle (Packagist) Vendor— Affected before 7.12.1 Fixed in 7.12.1 Patch available GHSA-cwxw-98qj-8qjx
Remediation
- Fix · CNA guzzle (guzzle) Fixed in 7.12.1
- Fix · GHSA-cwxw-98qj-8qjx guzzlehttp/guzzle (Packagist) Fixed in 7.12.1 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55767
- 2026-10-03 Alias added: GHSA-cwxw-98qj-8qjx
References
Advisory 2
Other 5
- https://github.com/guzzle/guzzle/pull/3653
- https://github.com/guzzle/guzzle/commit/7f537cded1912349abf5081258d6db19106d774d
- https://github.com/FriendsOfPHP/security-advisories/blob/master/guzzlehttp/guzzle/CVE-2026-55767.yaml
- https://github.com/guzzle/guzzle/releases/tag/7.12.1
- https://github.com/guzzle/guzzle
More Guzzle vulnerabilities
- TI-2022-13088 Fix failure to strip Authorization header on HTTP downgrade in Guzzle CVSS 3.1HIGH 7.5
- TI-2022-13087 Failure to strip the Cookie header on change in host or HTTP downgrade in Guzzle CVSS 3.1HIGH 7.5
- TI-2022-11789 Cross-domain cookie leakage in Guzzle CVSS 3.1HIGH 8.1
- TI-2022-13135 Change in port should be considered a change in origin in Guzzle CVSS 3.1HIGH 7.7
- TI-2022-13134 CURLOPT_HTTPAUTH option not cleared on change of origin in Guzzle CVSS 3.1HIGH 7.7
- TI-2026-42697 Guzzle: Cookie Disclosure and Injection via IP-Address Domains CVSS 3.1MEDIUM 6.1
Sources
- CVE-2026-55767 · CVE Program
- CVE-2026-55767 · NVD
- FIRST EPSS
- GHSA-cwxw-98qj-8qjx · GitHub Advisory Database · CC BY 4.0
- CVE-2026-55767 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences