CVE-2026-49214: CWE-20: Improper Input Validation in guzzle psr7
A vulnerability in guzzlehttp/psr7 versions prior to 2.10.2 allows improper input validation of URI host components. This can lead to injection of additional HTTP header lines when user-controlled URLs containing ASCII control characters are used to construct HTTP requests. The issue is patched in version 2.10.2. Applications using affected versions should validate and reject untrusted URI strings containing control characters before constructing PSR-7 Uri or Request objects.
AI Analysis
Technical Summary
The guzzlehttp/psr7 PHP library versions before 2.10.2 do not properly reject ASCII control characters, whitespace, or DEL characters in the host component of URIs. When an application uses a user-controlled URL to create a PSR-7 Uri or Request, the host component may include CRLF or other header-unsafe characters. This causes the Host header to span multiple lines, enabling injection of attacker-controlled HTTP headers. This vulnerability affects flows such as outbound HTTP requests, URL forwarding, proxying, crawling, and webhook delivery. It may contribute to HTTP request smuggling or cache poisoning depending on downstream parsing. The issue is fixed in version 2.10.2. Version 1.x is end-of-life and unpatched. Workarounds include validating and rejecting untrusted URIs containing control characters before use and ensuring HTTP clients reject invalid headers.
Potential Impact
This vulnerability allows an attacker controlling a URL to inject additional HTTP headers into outbound requests by exploiting improper input validation in the URI host component. This can lead to HTTP header injection, potentially enabling request smuggling or cache poisoning in environments with HTTP/1.1 connection reuse, proxies, gateways, or load balancers. The impact is limited to integrity of HTTP requests sent by affected applications and does not directly affect confidentiality or availability.
Mitigation Recommendations
A fix is available in guzzlehttp/psr7 version 2.10.2 and later; upgrading to this version or newer fully mitigates the vulnerability. For applications unable to upgrade immediately, validate and reject all untrusted URI strings containing ASCII control characters, whitespace, or DEL characters before constructing PSR-7 Uri or Request instances. Additionally, ensure that the final HTTP client or serializer rejects invalid URI and header data before sending requests to the network.
CVE-2026-49214: CWE-20: Improper Input Validation in guzzle psr7
Description
A vulnerability in guzzlehttp/psr7 versions prior to 2.10.2 allows improper input validation of URI host components. This can lead to injection of additional HTTP header lines when user-controlled URLs containing ASCII control characters are used to construct HTTP requests. The issue is patched in version 2.10.2. Applications using affected versions should validate and reject untrusted URI strings containing control characters before constructing PSR-7 Uri or Request objects.
CVSS v3.1
Score 5.3medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The guzzlehttp/psr7 PHP library versions before 2.10.2 do not properly reject ASCII control characters, whitespace, or DEL characters in the host component of URIs. When an application uses a user-controlled URL to create a PSR-7 Uri or Request, the host component may include CRLF or other header-unsafe characters. This causes the Host header to span multiple lines, enabling injection of attacker-controlled HTTP headers. This vulnerability affects flows such as outbound HTTP requests, URL forwarding, proxying, crawling, and webhook delivery. It may contribute to HTTP request smuggling or cache poisoning depending on downstream parsing. The issue is fixed in version 2.10.2. Version 1.x is end-of-life and unpatched. Workarounds include validating and rejecting untrusted URIs containing control characters before use and ensuring HTTP clients reject invalid headers.
Potential Impact
This vulnerability allows an attacker controlling a URL to inject additional HTTP headers into outbound requests by exploiting improper input validation in the URI host component. This can lead to HTTP header injection, potentially enabling request smuggling or cache poisoning in environments with HTTP/1.1 connection reuse, proxies, gateways, or load balancers. The impact is limited to integrity of HTTP requests sent by affected applications and does not directly affect confidentiality or availability.
Mitigation Recommendations
A fix is available in guzzlehttp/psr7 version 2.10.2 and later; upgrading to this version or newer fully mitigates the vulnerability. For applications unable to upgrade immediately, validate and reject all untrusted URI strings containing ASCII control characters, whitespace, or DEL characters before constructing PSR-7 Uri or Request instances. Additionally, ensure that the final HTTP client or serializer rejects invalid URI and header data before sending requests to the network.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-05-28T03:42:34.341Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a2aaf9a57b0f63cf3a75359
Added to database: 06/11/2026, 12:52:42 UTC
Last enriched: 07/16/2026, 10:56:07 UTC
Last updated: 07/31/2026, 19:22:59 UTC
Views: 91
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.