CVE-2026-84997 PUBLISHED

react/http: A malformed HTTP chunked body can lead to a denial-of-service and peg the CPU

Assigner: GitHub_M
Reserved: 02.09.2026 Published: 16.09.2026 Updated: 16.09.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS Score: 7.5

Product Status

Vendor reactphp
Product http
Versions
  • Version >= 0.6.0, < 1.11.1 is affected

References

Problem Types

  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') CWE