react/http: A malformed HTTP chunked body can lead to a denial-of-service and peg the CPU
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-835.
Summary
react/http is an event-driven, streaming HTTP client and server implementation for ReactPHP. From 0.6.0 until 1.11.1, React\Http\Io\ChunkedDecoder could enter an infinite loop while processing a malformed Transfer-Encoding: chunked body because handleData required its buffer to shrink on every iteration. An incomplete terminal-chunk trailer without CRLF left the buffer unchanged after strpos returned false, and exactly two non-CRLF bytes after a completed non-terminal chunk bypassed both the error and wait guards. The affected decoder processes request bodies for React\Http\HttpServer and response bodies for React\Http\Browser, allowing a malicious client to freeze a server or a malicious or compromised server to freeze a client. A reverse proxy that normalizes inbound requests may protect the server direction but does not protect outbound Browser requests. This issue is fixed in version 1.11.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| reactphp | http | 0.6.0 to before 1.11.1 | 1.11.1 | Patch available | CNA |
| — | react/http (Packagist) | 0.6.0 to before 1.11.1 | 1.11.1 | Patch available | GHSA-x424-64qh-5j54 |
- http Vendorreactphp Affected 0.6.0 to before 1.11.1 Fixed in 1.11.1 Patch available CNA
- react/http (Packagist) Vendor— Affected 0.6.0 to before 1.11.1 Fixed in 1.11.1 Patch available GHSA-x424-64qh-5j54
Remediation
- Fix · CNA http (reactphp) Fixed in 1.11.1
- Fix · GHSA-x424-64qh-5j54 react/http (Packagist) Fixed in 1.11.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-84997
- 2026-10-03 Alias added: GHSA-x424-64qh-5j54
- 2026-10-13 EPSS moved to the 50th–90th percentile
References
Other 5
- https://github.com/reactphp/http/security/advisories/GHSA-x424-64qh-5j54
- https://github.com/reactphp/http/commit/b6d4688790adf3797071fcf88a3fc4225f30486a
- https://github.com/reactphp/http/releases/tag/v1.11.1
- https://github.com/FriendsOfPHP/security-advisories/blob/master/react/http/CVE-2026-84997.yaml
- https://github.com/reactphp/http
More reactphp vulnerabilities
- TI-2026-74656 Unbounded header buffering in ReactPHP HTTP client exhausts memory CVSS 3.1HIGH 7.5
- TI-2022-16457 ReactPHP's HTTP server parses encoded cookie names so malicious `__Host-` and `__Secure-` cookies can be sent CVSS 3.1MEDIUM 5.3
- TI-2023-11278 ReactPHP's HTTP server continues parsing unused multipart parts after reaching limits CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-84997 · CVE Program
- CVE-2026-84997 · NVD
- FIRST EPSS
- GHSA-x424-64qh-5j54 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences