CVE-2026-55767

Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle

Published Jun 23, 2026 CVSS 3.1 · 5.8 Medium EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, the CookieJar component incorrectly accepts cookies whose Domain attribute consists of only a dot or contains whitespace padding. 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.

Affected Systems

The flaw affects the PHP HTTP client Guzzle, from vendors identified as guzzle:guzzle, for all releases prior to 7.12.1. Any application using Guzzle 7.x earlier than 7.12.1 and that shares a cookie jar across domains is potentially impacted.

Risk and Exploitability

The CVSS score of 5.8 places the vulnerability in the medium severity range. No EPSS score is published, so the exact likelihood of exploitation is uncertain, and it is not in the CISA KEV database. The main entry point is the application’s HTTP requests: if an attacker can dictate a request sent through a shared CookieJar, they can set a cookie that will be sent to any domain the jar serves. Successful exploitation could result in the injection of a cookie or session fixation against downstream services. No exotic prerequisites are required, indicating that the flaw can be widely exploited on affected installations.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Guzzle to version 7.12.1 or later
  • Ensure that applications do not use a single cookie jar for requests to multiple, unrelated domains
  • Consider implementing a custom CookieJar that rejects dot-only or whitespace-padded domain values during cookie acceptance

Generated by OpenCVE AI on June 24, 2026 at 11:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-cwxw-98qj-8qjx guzzlehttp/guzzle: Dot-Only Cookie Domains Match All Hosts
History
Type Values Removed Values Added
First Time appeared Guzzlephp
Guzzlephp guzzle
Vendors & Products Guzzlephp
Guzzlephp guzzle
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle
Weaknesses CWE-1286
CWE-346
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N'}

Weaknesses
  • CWE-1286

    Improper Validation of Syntactic Correctness of Input

  • CWE-346

    Origin Validation Error

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 5, 2026, 9:50 PM
Reserved
Jun 17, 2026, 2:34 PM
Status
Modified
Published
Jun 23, 2026, 4:17 PM
Modified
Aug 5, 2026, 10:17 PM