CVE-2026-48998: guzzle psr7 Improper Input Validation
Vulnerability summary
CVE-2026-48998 is a medium (CVSS 5.3) Improper Input Validation vulnerability in guzzle psr7. EPSS estimates a 0.31% chance of exploitation in the next 30 days, higher than 22.7% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 0 · Related 1Timeline
- 11-06-2026PublishedVulnerability first disclosed.
- 11-06-2026Last modifiedVulnerability information updated.
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.
CVSS metrics
6 scores · 6 sources · 1 version- OSV · UbuntuEcosystem advisory · calculated5.3MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- OSV · DebianEcosystem advisory · calculated5.3MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- OSV · WolfiEcosystem advisory · calculated5.3MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- OSV · ChainguardEcosystem advisory · calculated5.3MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- NVDNIST5.3MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
EPSS trend
Probability
0.31%
Chance of exploitation in the next 30 days
Percentile
23%
Versus all other CVEs
30-day change
+0.11 pp
From 0.20% on 20-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-20Improper Input ValidationThe product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
- CWE-918Server-Side Request Forgery (SSRF)The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Affected systems
Chainguard5 products
- drupal-11.3< 11.3.12-r0
- nextcloud-server-31< 31.0.14-r5
- nextcloud-server-33< 33.0.5-r3
- nextcloud-server-34< 34.0.1-r3
- privatebin< 2.0.4-r2
Debian1 product
- php-guzzlehttp-psr7< 2.4.5-1+deb12u1 | < 2.7.1-1+deb13u1 | < 2.10.3-1
Guzzle1 product
- psr7< 2.10.2
Guzzlephp1 product
- psr-7< 2.10.2
Ubuntu1 product
- php-guzzlehttp-psr7All versions (No fix recorded)
Wolfi1 product
- nextcloud-server-33< 33.0.5-r3
6 vendors · 10 products
References
6 links- github.com/guzzle/psr7/security/advisories/GHSA-34xg-wgjx-8xphX Refsource CONFIRMREPORTAdvisoryMitigationVendor Advisory