Packagist · php-standard-library/h2
PHP Standard Library: HTTP/2 server-side missing content-length validation enables request smuggling
Psl\H2\ServerConnection does not validate that the total bytes received in DATA frames match the content-length header 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\ServerConnection directly to accept untrusted client traffic. The high-level Psl\HTTP\Server is in active development and was not yet released at the time of this advisory; consumers of documented high-level PSL APIs are not affected.
content-length header on incoming HEADERS (server-side only — clients do not enforce this per RFC 9110 §9.3.2).StreamException on 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.
None at the protocol layer. Applications using Psl\H2\ServerConnection directly should upgrade.
Is your project exposed to this? Stateward checks every dependency on every pull request and flags it only if your code actually reaches it.
Check my repoSources: CISA KEV (public domain), OSV.dev & GitHub Advisory Database (CC-BY-4.0), FIRST EPSS, NVD/CWE (public domain). Served live from the Stateward advisory database.