Every CVE Search/ Get API key

CVE-2026-55767

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

5.8 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

Exploit likelihood

0.21%Up 0.1 points since Jun 24, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.8

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.

Record
CVE-2026-55767
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Weakness
CWE-346, CWE-1286
Updated
2026-11-02
EUVDEUVD-2026-38457 5.8

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.

Record
EUVD-2026-38457
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-cwxw-98qj-8qjx 5.8

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

Impact

CookieJar incorrectly accepts cookies with a dot-only Domain attribute, such as Domain=., Domain=.., Domain=..., and whitespace-padded variants such as Domain= . . In affected versions, 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. Applications are affected when they use Guzzle's cookie support, for example new Client(['cookies' => true]) or an explicit shared CookieJar, and reuse the same jar across attacker-controlled and trusted origins.

Applications that do not use Guzzle's cookie support, or that use separate cookie jars per origin or trust boundary, are not affected. This issue is distinct from public suffix list validation: dot-only domains contain no domain label and should not match unrelated hosts.

Patches

The issue is patched in 7.12.1 and later. Starting in that release, Guzzle rejects dot-only cookie Domain attributes and prevents an empty normalized cookie domain from matching any request host.

Workarounds

If you cannot upgrade immediately, do not reuse the same CookieJar instance across untrusted and trusted origins. Use separate cookie jars per origin or trust boundary, or disable cookie handling for requests to untrusted hosts.

Avoid using new Client(['cookies' => true]) for clients that may contact unrelated hosts with different trust levels, because that option creates one shared jar for the client.

Record
GHSA-cwxw-98qj-8qjx
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Weakness
CWE-346, CWE-1286
Updated
2026-11-02
NVD 5.8

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.

Record
CVE-2026-55767
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Weakness
CWE-346, CWE-1286
Updated
2026-11-02
OSV 5.8

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.

Record
CVE-2026-55767
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Weakness
CWE-1286, CWE-346
Updated
2026-11-02
OSVDEBIAN-CVE-2026-55767 5.8

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.

Record
DEBIAN-CVE-2026-55767
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Updated
2026-11-02
Show 6 moreShow less
OSVGHSA-cwxw-98qj-8qjx 5.8

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

Impact

CookieJar incorrectly accepts cookies with a dot-only Domain attribute, such as Domain=., Domain=.., Domain=..., and whitespace-padded variants such as Domain= . . In affected versions, 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. Applications are affected when they use Guzzle's cookie support, for example new Client(['cookies' => true]) or an explicit shared CookieJar, and reuse the same jar across attacker-controlled and trusted origins.

Applications that do not use Guzzle's cookie support, or that use separate cookie jars per origin or trust boundary, are not affected. This issue is distinct from public suffix list validation: dot-only domains contain no domain label and should not match unrelated hosts.

Patches

The issue is patched in 7.12.1 and later. Starting in that release, Guzzle rejects dot-only cookie Domain attributes and prevents an empty normalized cookie domain from matching any request host.

Workarounds

If you cannot upgrade immediately, do not reuse the same CookieJar instance across untrusted and trusted origins. Use separate cookie jars per origin or trust boundary, or disable cookie handling for requests to untrusted hosts.

Avoid using new Client(['cookies' => true]) for clients that may contact unrelated hosts with different trust levels, because that option creates one shared jar for the client.

Record
GHSA-cwxw-98qj-8qjx
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Weakness
CWE-1286, CWE-346
Updated
2026-11-02
OSVUBUNTU-CVE-2026-55767 5.8

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.

Record
UBUNTU-CVE-2026-55767
CVSS 3.1
5.8 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Updated
2026-11-02
OSVCLSA-2026-1783645388 No score

TuxCare security update for guzzlehttp/guzzle (2 CVEs)

TuxCare rebuilt guzzlehttp/guzzle to address 2 CVEs. Fixed in 7.10.0-p1+tuxcare.

Record
CLSA-2026-1783645388
Updated
2026-11-02
OSVCLSA-2026-1784164044 No score

TuxCare security update for guzzlehttp/guzzle (2 CVEs)

TuxCare rebuilt guzzlehttp/guzzle to address 2 CVEs. Fixed in 6.5.8-p1+tuxcare.

Record
CLSA-2026-1784164044
Updated
2026-11-02
OSVCLSA-2026-1785380980 No score

TuxCare security update for guzzlehttp/guzzle (2 CVEs)

TuxCare rebuilt guzzlehttp/guzzle to address 2 CVEs. Fixed in 6.0.2-p4+tuxcare.

Record
CLSA-2026-1785380980
Updated
2026-11-02
OSVCLSA-2026-1786439704 No score

TuxCare security update for guzzlehttp/guzzle (6 CVEs)

TuxCare rebuilt guzzlehttp/guzzle to address 6 CVEs. Fixed in 6.3.3-p2+tuxcare.

Record
CLSA-2026-1786439704
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
guzzlehttp/guzzle
Packagist
before 7.12.1
7.12.1
guzzlehttp/guzzle
TuxCare:Packagist
From an advisory covering 2 CVEs
7.10.0 up to 7.10.0-p1+tuxcare
7.10.0-p1+tuxcare
guzzlehttp/guzzle
TuxCare:Packagist
From an advisory covering 2 CVEs
6.5.8 up to 6.5.8-p1+tuxcare
6.5.8-p1+tuxcare
guzzlehttp/guzzle
TuxCare:Packagist
From an advisory covering 2 CVEs
6.0.2 up to 6.0.2-p4+tuxcare, plus listed versions
6.0.2-p1+tuxcare6.0.2-p2+tuxcare6.0.2-p3+tuxcare
6.0.2-p4+tuxcare
guzzlehttp/guzzle
TuxCare:Packagist
From an advisory covering 3 CVEs
6.3.3 up to 6.3.3-p2+tuxcare, plus listed versions
6.3.3-p1+tuxcare
6.3.3-p2+tuxcare
guzzle
Debian:12
All versions, plus listed versions
7.11.0-17.12.0-17.12.1-17.12.3-17.13.1-1
Show 14 moreShow less
7.14.0-17.14.1-17.14.2-17.15.0-17.15.1-17.15.2-17.15.3-17.15.5-17.4.5-17.9.2-0.18.0.1-18.0.2-18.1.0-18.2.0-1
None known
guzzle
Debian:13
All versions, plus listed versions
7.11.0-17.12.0-17.12.1-17.12.3-17.13.1-1
Show 13 moreShow less
7.14.0-17.14.1-17.14.2-17.15.0-17.15.1-17.15.2-17.15.3-17.15.5-17.9.2-0.18.0.1-18.0.2-18.1.0-18.2.0-1
None known
guzzle
Debian:14
before 7.12.1-1, plus listed versions
7.11.0-17.12.0-17.9.2-0.1
7.12.1-1
guzzlehttp/guzzle
Packagist
before 7.12.1, plus listed versions
4.0.04.0.0-rc.14.0.0-rc.24.0.14.0.2
Show 45 moreShow less
4.1.04.1.14.1.24.1.34.1.44.1.54.1.64.1.74.1.84.2.04.2.14.2.24.2.34.2.45.0.05.0.15.0.25.0.35.1.05.2.05.3.05.3.15.3.25.3.35.3.46.0.06.0.16.0.26.1.06.1.16.2.06.2.16.2.26.2.36.3.06.3.16.3.26.3.36.4.06.4.16.5.06.5.16.5.26.5.36.5.4
7.12.1
guzzle
Ubuntu:24.04:LTS
All versions, plus listed versions
7.4.5-1
None known
guzzle
Ubuntu:25.10
All versions, plus listed versions
7.9.2-0.1
None known
guzzle
Ubuntu:26.10
All versions, plus listed versions
7.9.2-0.1build17.13.1-17.15.1-17.15.2-17.15.3-1
None known
guzzle
Ubuntu:26.04:LTS
All versions, plus listed versions
7.9.2-0.17.9.2-0.1build1
None known

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-55767 is a medium vulnerability (CVSS 5.8) in Guzzle, published June 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.21%, the 11th percentile. Fixed in guzzlehttp/guzzle 7.12.1.

References

Show 6 moreShow less
This page doesn't list everything

Left out here: 113 versions. The JSON record has them.

MoveEnter Open