Description
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Versions prior to 2.10.2 contain improper Host header validation when parsing raw HTTP request messages and when deriving a server request URI from server variables. An attacker can provide a malformed Host header containing URI authority delimiters, such as `trusted.example@evil.example`. When the Host value is used to construct a URI, the malformed value can be reinterpreted as URI userinfo and host. This can cause the PSR-7 request URI host to differ from the original Host header value. Applications are affected if they parse attacker-controlled raw HTTP requests with `GuzzleHttp\Psr7\Message::parseRequest()` or the legacy 1.x `GuzzleHttp\Psr7\parse_request()` function, or if they build server requests from attacker-controlled server variables, then rely on the resulting URI host for routing, allow-list checks, or forwarding decisions. In affected forwarding or gateway scenarios, this may cause requests or credentials to be sent to an unintended host. The issue is patched in `2.10.2`. `1.x` is end-of-life and will not receive a patch. Some workarounds are available. Validate the `Host` header as `uri-host [ ":" port ]` before calling `Message::parseRequest()` or legacy `parse_request()` on untrusted HTTP request data, or before deriving routing and forwarding decisions from a parsed request URI. Reject Host values containing userinfo, path, query, or fragment delimiters.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| guzzle | psr7 | < 2.10.2 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | php-guzzlehttp-psr7 | 2.10.3-1 | — |
| Debian 13 | php-guzzlehttp-psr7 | 2.7.1-1+deb13u1 | — |
| Debian 12 | php-guzzlehttp-psr7 | 2.4.5-1+deb12u1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | php-guzzlehttp-psr7 | No fix yet | — |
| Ubuntu 26.04 LTS | php-guzzlehttp-psr7 | No fix yet | — |
| Ubuntu 25.10 | php-guzzlehttp-psr7 | No fix yet | — |
| Ubuntu 24.04 LTS | php-guzzlehttp-psr7 | No fix yet | — |
| Ubuntu 20.04 LTS | php-guzzlehttp-psr7 | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | php-guzzlehttp-psr7 | No fix yet | — |
| Ubuntu Pro 22.04 LTS | php-guzzlehttp-psr7 | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | nextcloud-server-33 | 33.0.5-r3 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | guzzlehttp/psr7 | < 2.10.2 | 2.10.2 | GHSA-34xg-wgjx-8xph |
Advisories 2
- WID-SEC-2026-3403 Oracle Communications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 24, 2026
- NCSC-2026-0375 Kwetsbaarheden verholpen in Oracle Communications NCSC-NL (Netherlands) · Sep 16, 2026