CVE-2026-49214 Details
Description
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Versions prior to 2.10.2 did not reject ASCII control characters, whitespace, or DEL in first-party URI host components. A vulnerable flow is: First, an application accepts a user-controlled URL. Second, the URL is used to construct a PSR-7 `Uri` or `Request`. Third, the host component contains CRLF or another header-unsafe character. Fourth, the host is copied into the PSR-7 `Host` header when no explicit `Host` header is provided. Finally, the request is serialized or sent by an HTTP client that does not independently reject the malformed host. In that flow, an attacker can cause the serialized request to contain additional attacker-controlled header lines. For example, a host containing `"\r\nX-Injected: yes"` can cause the generated `Host` header to span multiple HTTP header lines. Applications are affected when they use user-controlled URLs for outbound HTTP requests, URL forwarding, proxying, crawling, webhook delivery, or similar request-dispatch flows. In deployments involving HTTP/1.1 connection reuse, proxies, gateways, or load balancers, this malformed request may also contribute to request smuggling or cache poisoning, depending on how downstream components parse the request. The issue is patched in `2.10.2` and later. `1.x` is end-of-life and will not receive a patch. As a workaround, validate and reject all untrusted URI strings before constructing PSR-7 `Uri` or `Request` instances. Reject input containing ASCII control characters, whitespace, or DEL, including CRLF, tab, space, NUL, or DEL characters. Applications that forward requests should also ensure the final HTTP client or serializer rejects invalid URI and header data before writing requests to the network.
A CRLF injection vulnerability has been identified in the guzzlehttp/psr7 library, which is a PHP implementation of the PSR-7 HTTP message standard. This vulnerability affects versions prior to 2.10.2 and arises because the library did not properly validate ASCII control characters, whitespace, or DEL in first-party URI host components. The issue can be exploited when an application accepts a user-controlled URL, which is then used to create a PSR-7 Uri or Request. If the host component of the URL contains CRLF or other header-unsafe characters, these can be injected into the HTTP headers when the request is serialized and sent. This flaw is particularly concerning in environments that reuse HTTP/1.1 connections or involve proxies, gateways, or load balancers, as it could lead to request smuggling or cache poisoning.
Users can upgrade to guzzlehttp/psr7 version 2.10.2 or later. For applications that cannot upgrade immediately, it is recommended to validate and reject all untrusted URI strings before creating PSR-7 Uri or Request instances. Input should be checked for ASCII control characters, whitespace, or DEL, including CRLF, tab, space, NUL, or DEL characters. Additionally, applications that manually serialize or forward requests should ensure that the final HTTP client, transport, or serializer rejects invalid URI and header data before sending requests.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Jun 11, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/guzzle/psr7/security/advisories/GHSA-hq7v-mx3g-29hw | [email protected] | MitigationVendor Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-113 | Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') | [email protected] |
| CWE-20 | Improper Input Validation | [email protected] |
| CWE-93 | Improper Neutralization of CRLF Sequences ('CRLF Injection') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| guzzlephp psr-7 | < 2.10.2 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Jun 15, 2026 | Initial Analysis | [email protected] |
| Jun 11, 2026 | New CVE Received | [email protected] |