CVE-2026-55766: CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection') in guzzle psr7
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Prior to 2.12.1, guzzlehttp/psr7 did not reject CR/LF characters in certain first-party HTTP start-line fields: the request method, protocol version, and response reason phrase. If an application placed attacker-controlled data into one of those fields and later serialized the PSR-7 message as raw HTTP/1.x, for example with Message::toString() or an equivalent serializer, the serialized message could contain attacker-controlled header lines. The issue can also be reached through Message::parseRequest() or Message::parseResponse() when malformed raw messages are parsed into first-party PSR-7 objects and then serialized again. Creating or modifying a Request, Response, or other PSR-7 object alone is not sufficient. The issue requires the malformed message to be serialized and written to the network, forwarded, replayed, or otherwise processed by software that does not independently reject the malformed start line. This vulnerability is fixed in 2.12.1.
AI Analysis
Technical Summary
The guzzlehttp/psr7 PHP library versions before 2.12.1 improperly neutralize CRLF sequences in HTTP start-line fields (request method, protocol version, response reason phrase). This allows an attacker to inject additional HTTP header lines if attacker-controlled data is placed into these fields and the PSR-7 message is serialized (e.g., via Message::toString()) and sent or forwarded. The vulnerability can also be triggered by parsing malformed raw HTTP messages into PSR-7 objects and then serializing them again. Creating or modifying PSR-7 objects alone is insufficient; the serialized malformed message must be transmitted or processed by downstream software that does not reject malformed start lines. This vulnerability is addressed by rejecting CR/LF characters in these fields starting with guzzlehttp/psr7 version 2.12.1.
Potential Impact
An attacker able to control data in the affected HTTP start-line fields could inject additional HTTP header lines into serialized HTTP messages. This can lead to HTTP response splitting or header injection issues if the serialized message is sent over the network or processed by vulnerable downstream components. The impact is limited by the requirement that the malformed message be serialized and forwarded to software that does not independently reject malformed start lines. The CVSS 3.1 base score is 4.8 (medium severity), reflecting limited impact and the complexity of exploitation.
Mitigation Recommendations
Upgrade guzzlehttp/psr7 to version 2.12.1 or later, where this vulnerability is fixed by rejecting CR/LF characters in HTTP start-line fields. Until upgraded, ensure that any software processing serialized PSR-7 messages properly validates and rejects malformed start lines containing CR/LF sequences. No other specific mitigations are indicated.
CVE-2026-55766: CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection') in guzzle psr7
Description
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Prior to 2.12.1, guzzlehttp/psr7 did not reject CR/LF characters in certain first-party HTTP start-line fields: the request method, protocol version, and response reason phrase. If an application placed attacker-controlled data into one of those fields and later serialized the PSR-7 message as raw HTTP/1.x, for example with Message::toString() or an equivalent serializer, the serialized message could contain attacker-controlled header lines. The issue can also be reached through Message::parseRequest() or Message::parseResponse() when malformed raw messages are parsed into first-party PSR-7 objects and then serialized again. Creating or modifying a Request, Response, or other PSR-7 object alone is not sufficient. The issue requires the malformed message to be serialized and written to the network, forwarded, replayed, or otherwise processed by software that does not independently reject the malformed start line. This vulnerability is fixed in 2.12.1.
CVSS v3.1
Score 4.8medium
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.12.1 improperly neutralize CRLF sequences in HTTP start-line fields (request method, protocol version, response reason phrase). This allows an attacker to inject additional HTTP header lines if attacker-controlled data is placed into these fields and the PSR-7 message is serialized (e.g., via Message::toString()) and sent or forwarded. The vulnerability can also be triggered by parsing malformed raw HTTP messages into PSR-7 objects and then serializing them again. Creating or modifying PSR-7 objects alone is insufficient; the serialized malformed message must be transmitted or processed by downstream software that does not reject malformed start lines. This vulnerability is addressed by rejecting CR/LF characters in these fields starting with guzzlehttp/psr7 version 2.12.1.
Potential Impact
An attacker able to control data in the affected HTTP start-line fields could inject additional HTTP header lines into serialized HTTP messages. This can lead to HTTP response splitting or header injection issues if the serialized message is sent over the network or processed by vulnerable downstream components. The impact is limited by the requirement that the malformed message be serialized and forwarded to software that does not independently reject malformed start lines. The CVSS 3.1 base score is 4.8 (medium severity), reflecting limited impact and the complexity of exploitation.
Mitigation Recommendations
Upgrade guzzlehttp/psr7 to version 2.12.1 or later, where this vulnerability is fixed by rejecting CR/LF characters in HTTP start-line fields. Until upgraded, ensure that any software processing serialized PSR-7 messages properly validates and rejects malformed start lines containing CR/LF sequences. No other specific mitigations are indicated.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-06-17T14:34:51.881Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a3aafb1eed863c81e44dd74
Added to database: 06/23/2026, 16:09:21 UTC
Last enriched: 06/23/2026, 16:24:48 UTC
Last updated: 06/23/2026, 21:23:01 UTC
Views: 5
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.