Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-48998 EUVD-2026-36239GHSA-34xg-wgjx-8xph

guzzlehttp/psr7 has Host Confusion via Authority Reinterpretation

Published Jun 11, 2026 · Updated Jun 11, 2026 · Assigned by GitHub_M

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

VendorProductAffectedFixed
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.

ReleasePackageFixed inAdvisory
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 —
ReleasePackageFixed inAdvisory
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)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS php-guzzlehttp-psr7 No fix yet —
Ubuntu Pro 22.04 LTS php-guzzlehttp-psr7 No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling nextcloud-server-33 33.0.5-r3 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist guzzlehttp/psr7 < 2.10.2 2.10.2 GHSA-34xg-wgjx-8xph

Advisories 2

References