CVE-2026-104827 · GHSA-g4f2-2pf3-2pwj
react/http: Unbounded HTTP Client Response Header Buffering Leads to Memory Exhaustion DoS
- Risk score
- 62/100
- CVSS
- 7.5 v3.1
- Exploit chance (30 days)
- 0.4%
- Published
- 15 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- react/http is an event-driven, streaming HTTP client and server implementation for ReactPHP. From 1.0.0 until 1.11.1, React\Http\Browser uses ClientRequestStream::handleData() to append response-header bytes to an internal buffer without enforcing a size limit. A remote server can send a valid status line and partial …
- Affected
- react/http (composer) >= 1.0.0, <= 1.11.0
- Fix
- Upgrade react/http to 1.11.1 or later.
- Exploitation
- No known exploitation
Why it is Amber
- CVSS 7.5 high
- Remotely exploitable without logging in
- On your watchlist: Composer
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| react/http | composer | >= 1.0.0, <= 1.11.0 | 1.11.1 |
References
- https://github.com/advisories/GHSA-g4f2-2pf3-2pwj
- https://github.com/reactphp/http/security/advisories/GHSA-g4f2-2pf3-2pwj
- https://github.com/reactphp/http/commit/2558622d0b76227c60c61eac8a61572cb6638e8c
- https://github.com/reactphp/http/releases/tag/v1.11.1
- https://github.com/advisories/GHSA-g4f2-2pf3-2pwj
Original description
react/http is an event-driven, streaming HTTP client and server implementation for ReactPHP. From 1.0.0 until 1.11.1, React\Http\Browser uses ClientRequestStream::handleData() to append response-header bytes to an internal buffer without enforcing a size limit. A remote server can send a valid status line and partial header, withhold the \r\n\r\n or \n\n header terminator, and continue streaming data so the buffer grows for the life of the connection. Applications that fetch attacker-controlled or attacker-influenced URLs, including URLs reached through redirects, can exhaust PHP memory_limit and crash the event-loop or worker process. Confidentiality and integrity are unaffected. This issue is fixed in version 1.11.1.
Last activity 15 Oct 2026. Patch Forecast updates every hour.