CVE-2026-55766
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 — wyżej niż 5% wszystkich znanych CVE
Streszczenie
Biblioteka guzzlehttp/psr7 przed wersją 2.12.1 nie odrzucała znaków CR/LF w polach linii startowej HTTP (metoda żądania, wersja protokołu, fraza przyczyny odpowiedzi). Atakujący może umieścić kontrolowane dane w tych polach, a po serializacji wiadomości PSR-7 do surowego HTTP/1.x (np. przez Message::toString()) może dojść do wstrzyknięcia nagłówków HTTP.
Ocena ryzyka
Ryzyko polega na możliwości manipulacji nagłówkami HTTP w serializowanych wiadomościach, co może prowadzić do ataków typu HTTP response splitting, cache poisoning lub innych naruszeń integralności komunikacji sieciowej.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę guzzlehttp/psr7 do wersji 2.12.1 lub nowszej. Po aktualizacji sprawdź, czy aplikacja nie serializuje wiadomości PSR-7 z danymi pochodzącymi od użytkownika.
Oryginalny opis (angielski, źródło NVD)
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.

