Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-55767
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 08:59 UTC · Revision 1
Source evidence
Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle
core-osv · Original sourcePublished 23 Jun 2026, 15:05 UTC
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.
osv:CVE-2026-55767
Complete source record
{
"id": "9452bc0bf97fd1d12fea7b5e43e3db0d0a8681b619bafc50c6cf5e69b8b60cab",
"url": "https://osv.dev/vulnerability/CVE-2026-55767",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle",
"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.",
"evidence": "osv:CVE-2026-55767",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-55767",
"aliases": [
"CVE-2026-55767",
"GHSA-cwxw-98qj-8qjx"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/guzzle/guzzle",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "d34627490fbc03bf5c5d7cfed81f2faa19519425"
},
{
"fixed": "7f537cded1912349abf5081258d6db19106d774d"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:guzzlephp:guzzle:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "7.12.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "7f537cded1912349abf5081258d6db19106d774d"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "d34627490fbc03bf5c5d7cfed81f2faa19519425"
}
],
"source": "REFERENCES_TAG",
"original_tag": "7.12.1"
}
]
}
}
],
"versions": [
"7.12.0",
"7.11.0",
"7.10.0",
"7.9.3",
"7.9.2",
"7.9.1",
"7.9.0",
"7.8.1",
"7.8.0",
"7.7.0",
"7.6.1",
"7.6.0",
"7.5.1",
"7.5.0",
"7.4.5",
"7.4.4",
"7.4.3",
"7.4.2",
"7.4.1",
"7.4.0",
"7.3.0",
"7.2.0",
"7.1.1",
"7.1.0",
"7.0.0",
"7.0.0-rc.1",
"7.0.0-beta.2",
"7.0.0-beta.1",
"6.5.0",
"6.4.1",
"6.4.0",
"6.3.3",
"6.3.2",
"6.3.1",
"6.3.0",
"6.2.2",
"6.2.1",
"4.2.3",
"6.2.0",
"6.1.1",
"6.1.0",
"6.0.2",
"6.0.1",
"6.0.0",
"5.3.0",
"5.2.0",
"5.1.0",
"5.0.3",
"5.0.2",
"5.0.1",
"5.0.0",
"4.2.2",
"4.2.1",
"4.2.0",
"4.1.8",
"4.1.7",
"4.1.6",
"4.1.5",
"4.1.4",
"4.1.3",
"4.1.2",
"4.1.1",
"4.1.0",
"4.0.2",
"4.0.1",
"4.0.0",
"4.0.0-rc.2",
"4.0.0-rc.1",
"v3.8.1",
"v3.8.0",
"v3.7.4",
"v3.7.3",
"v3.7.2",
"v3.7.1",
"v3.7.0",
"v3.6.0",
"v3.5.0",
"v3.4.3",
"v3.4.2",
"v3.4.1",
"v3.4.0",
"v3.3.1",
"v3.3.0",
"v3.2.0",
"v3.1.2",
"v3.1.1",
"v3.1.0",
"v3.0.7",
"v3.0.6",
"v3.0.5",
"v3.0.4",
"v3.0.3",
"v3.0.2",
"v3.0.1",
"v3.0.0",
"v2.8.8",
"v2.8.7",
"v2.8.6",
"v2.8.5",
"v2.8.4",
"v2.8.3",
"v2.8.2",
"v2.8.1",
"v2.8.0",
"v2.7.2",
"v2.7.1",
"v2.7.0",
"v2.6.6",
"v2.6.5",
"v2.6.4",
"v2.6.3",
"v2.6.2",
"v2.6.1",
"v2.6.0",
"v2.5.0",
"v2.4.1",
"v2.4.0",
"v2.3.2",
"v2.3.1",
"v2.3.0",
"v2.2.4",
"v2.2.3",
"v2.2.2",
"v2.2.1",
"v2.2.0",
"v2.1.4",
"v2.1.3",
"v2.1.2",
"v2.1.1",
"v2.1.0",
"v2.0.5",
"v2.0.4",
"v2.0.3",
"v2.0.2",
"v2.0.1",
"v2.0.0",
"v1.0.3",
"v1.0.2",
"v1.0.1",
"v1.0.0",
"v1.0.0beta1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55767.json"
}
}
],
"modified": "2026-10-28T02:30:34.038653125Z",
"provider": "osv",
"references": [
"https://github.com/guzzle/guzzle/releases/tag/7.12.1",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55767.json",
"https://github.com/FriendsOfPHP/security-advisories/blob/master/guzzlehttp/guzzle/CVE-2026-55767.yaml",
"https://github.com/guzzle/guzzle/security/advisories/GHSA-cwxw-98qj-8qjx",
"https://nvd.nist.gov/vuln/detail/CVE-2026-55767",
"https://github.com/guzzle/guzzle/commit/7f537cded1912349abf5081258d6db19106d774d",
"https://github.com/guzzle/guzzle/pull/3653"
],
"provider_metadata": {
"cwe_ids": [
"CWE-1286",
"CWE-346"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55767.json"
}
},
"related_cves": [
{
"value": "CVE-2026-55767",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 501282,
"published_at": "2026-06-23T15:05:05.552+00:00"
}