PHP Standard Library: HTTP/2 server-side missing content-length validation enables request smuggling
High severity
GitHub Reviewed
Published
May 23, 2026
in
php-standard-library/php-standard-library
•
Updated Jun 26, 2026
Description
Published by the National Vulnerability Database
Jun 17, 2026
Published to the GitHub Advisory Database
Jun 26, 2026
Reviewed
Jun 26, 2026
Last updated
Jun 26, 2026
Impact
Psl\H2\ServerConnectiondoes not validate that the total bytes received in DATA frames match thecontent-lengthheader declared in the HEADERS frame, in violation of RFC 9113 §8.1.1.A malicious client can:
The vulnerability is only reachable for consumers using
Psl\H2\ServerConnectiondirectly to accept untrusted client traffic. The high-levelPsl\HTTP\Serveris in active development and was not yet released at the time of this advisory; consumers of documented high-level PSL APIs are not affected.Patches
Fixed in 6.1.2 and 6.2.1.
content-lengthheader on incoming HEADERS (server-side only — clients do not enforce this per RFC 9110 §9.3.2).StreamExceptionon mismatch or overflow.Regression tests landed in #781, 9 of the new tests fail against the pre-fix code, proving the validation boundary is enforced.
Workarounds
None at the protocol layer. Applications using
Psl\H2\ServerConnectiondirectly should upgrade.Resources
References