CVE-2026-84997
react/http is an event-driven, streaming HTTP client and server implementation for ReactPHP.
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| composer | react/http | >= 0.6.0, <= 1.11.0 | 1.11.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-x424-64qh-5j54
- https://github.com/reactphp/http/security/advisories/GHSA-x424-64qh-5j54
- https://nvd.nist.gov/vuln/detail/CVE-2026-84997
- https://github.com/reactphp/http/commit/b6d4688790adf3797071fcf88a3fc4225f30486a
- https://github.com/FriendsOfPHP/security-advisories/blob/master/react/http/CVE-2026-84997.yaml
- https://github.com/reactphp/http/releases/tag/v1.11.1