Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Network-reachable via HTTP but AC:H for requiring attacker control of a numeric-domain endpoint and shared CookieJar across hosts; S:C because cookie injection crosses into a different host's security domain.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
Guzzle is an extensible PHP HTTP client. Prior to 7.12.3, CookieJar did not restrict cookies scoped to IP-address or bare-numeric Domain values to the exact host that set them, because SetCookie::matchesDomain() applied ordinary suffix matching to domains such as 192.168.0.1, [::1], or 1, allowing cross-host cookie disclosure, cookie injection, or session fixation. This issue is fixed in version 7.12.3.
AnalysisAI
Cookie domain suffix-matching bypass in Guzzle PHP HTTP client (prior to 7.12.3) allows cross-host cookie disclosure, cookie injection, and session fixation when an application makes requests to multiple IP-address-based or bare-numeric-domain hosts within a shared CookieJar session. The SetCookie::matchesDomain() method incorrectly applied suffix-matching logic - valid for FQDN hierarchies - to numeric domain identifiers such as 192.168.0.1, [::1], and bare labels like 1, meaning a cookie set by one numeric host could be forwarded to a structurally related but distinct host. No public exploit has been identified at time of analysis; a vendor-released patch is available in version 7.12.3.
Technical ContextAI
Guzzle (CPE: cpe:2.3:a:guzzle:guzzle:*:*:*:*:*:*:*:*) is a widely adopted PHP HTTP client library used extensively in Laravel, Symfony, and other PHP ecosystems. The vulnerable component is CookieJar, specifically the SetCookie::matchesDomain() helper that determines whether a stored cookie should be forwarded to a given request host. For regular domain names, suffix matching (e.g., '.example.com' matching 'sub.example.com') is the correct and RFC-defined behavior. However, RFC 6265 explicitly requires that cookies scoped to IP addresses or numeric domain labels be matched only against the exact host that set them - suffix semantics do not apply. The root cause, CWE-346 (Origin Validation Error), manifests here because the library failed to discriminate between FQDN-style and numeric-style domain identifiers before applying matching logic, allowing a cookie from 192.168.0.100 to be considered a match for a request to 192.168.0.1 by virtue of sharing the trailing octet string.
RemediationAI
Upgrade Guzzle to version 7.12.3 or later; this is a vendor-released patch confirmed at https://github.com/guzzle/guzzle/releases/tag/7.12.3. The underlying fix is implemented in commit b9944c161b12d9ee9c9334cfc5b9659ecd7451f8 (https://github.com/guzzle/guzzle/commit/b9944c161b12d9ee9c9334cfc5b9659ecd7451f8) and pull request https://github.com/guzzle/guzzle/pull/3694. For PHP applications using Composer, run 'composer require guzzlehttp/guzzle:^7.12.3'. If immediate upgrade is not feasible, a targeted compensating control is to instantiate a separate CookieJar per request or per target host rather than sharing a single instance across connections to different IP-addressed endpoints; this prevents cross-host cookie forwarding without requiring a library upgrade, though it may alter session-continuity behavior for multi-step flows. Applications that exclusively communicate with fully qualified domain name (FQDN) hosts and never use IP addresses or bare numeric labels as request targets are not affected by this specific code path.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-346 – Origin Validation Error
View allSame technique Code Injection
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42320
GHSA-g446-98w2-8p5w