CVE-2026-59882
MediumCVSS 4.2Exploitation Probability (EPSS)
Low risk8th percentile - higher than 8% of all known CVEs
Summary
In the guzzlehttp/psr7 library prior to version 2.12.3, the Uri::assertValidHost() function does not reject invalid URI host components that may contain authority delimiters, embedded ports, or malformed IPv6 brackets. This causes Uri::getHost() to potentially return a value different from the actual URI authority, which can lead to errors in security or routing decisions.
Risk Assessment
The organization may be exposed to URI manipulation attacks where an attacker can exploit the discrepancy between the value returned by getHost() and the actual URI authority, potentially leading to unauthorized access, redirects, or other security breaches.
Recommendation
Immediately update the guzzlehttp/psr7 library to version 2.12.3 or later, which includes a fix for this vulnerability.
Other vulnerabilities in guzzlehttp/psr7
See all- CVE-2026-55766Medium
The guzzlehttp/psr7 library before version 2.12.1 did not reject CR/LF characters in certain HTTP start-line fields (request method, protocol version, response reason phrase). An attacker can inject controlled data into these fields, and after serializing the PSR-7 message to raw HTTP/1.x (e.g., via Message::toString()), it may lead to HTTP header injection.
- CVE-2026-49214Medium
The guzzlehttp/psr7 library in versions prior to 2.10.2 did not reject ASCII control characters, whitespace, or DEL in URI host components. This can lead to the injection of additional headers by an attacker, posing a risk to applications using user-controlled URLs.
- CVE-2026-48998Medium
The guzzlehttp/psr7 library in versions prior to 2.10.2 contains improper Host header validation, which can lead to incorrect URI processing in HTTP requests. An attacker can provide a malicious Host header, resulting in a discrepancy between the original value and the URI host value.
Original NVD description (English source)
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Prior to 2.12.3, Uri::assertValidHost() does not reject URI host components containing authority delimiters, embedded ports, or malformed IPv6 brackets, allowing Uri::getHost() to disagree with the URI authority used for security or routing decisions. This issue is fixed in version 2.12.3.

