CVE-2026-48979 json
PHP Standard Library: HTTP/2 server-side missing content-length validation enables request smuggling
published 4mo ago modified 2mo ago also GHSA-pw9p-jvrm-f7rm , EUVD-2026-37798
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
PHP Standard Library (PSL) is set of APIs covering async, collections, networking, I/O, cryptography, terminal UI, etc. In versions 6.1.0, 6.1.1 and 6.2.0, the Psl\H2\ServerConnection does not validate that the total bytes received in DATA frames match the content-length header declared in the HEADERS frame, allowing request smuggling. This is in violation of RFC 9113 §8.1.1. A malicious client is able to send more DATA bytes than declared, smuggling additional content past application-level size limits and send fewer DATA bytes than declared and close the stream early, causing applications that trust the declared length to behave incorrectly. The vulnerability is only reachable for consumers using Psl\H2\ServerConnection directly to accept untrusted client traffic. Consumers of documented high-level PSL APIs are not affected. This issue has been fixed in versions 6.1.2 and 6.2.1.
Patch / fix
- packagist php-standard-library/h2 6.1.2, 6.2.1
- packagist php-standard-library/php-standard-library 6.1.2, 6.2.1
Is CVE-2026-48979 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | php-standard-library/h2 | >=6.1.0, <6.1.2 >=6.2.0, <6.2.1 |
6.1.2 6.2.1 |
| packagist | php-standard-library/php-standard-library | >=6.1.0, <6.1.2 >=6.2.0, <6.2.1 |
6.1.2 6.2.1 |
Affected products
- php-standard-library php-standard-library
- php-standard-library php-standard-library/h2
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/php-standard-library/php-standard-library/security/advisories/GHSA-pw9p-jvrm-f7rm
web
-
github.com
/php-standard-library/php-standard-library/releases/tag/6.1.2
web
-
github.com
/php-standard-library/php-standard-library/releases/tag/6.2.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-48979
advisory
-
github.com
/php-standard-library/php-standard-library
package
Sources
- CVE List CVE-2026-48979
- GitHub Advisory GHSA-pw9p-jvrm-f7rm
- NVD CVE-2026-48979
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.