Skip to content
Heist/ feed
Back to feed
High

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

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-84997
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 03:52 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 16 Sept 2026, 14:07 UTC

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.

osv:CVE-2026-84997
Complete source record
{
  "id": "bf32c964a45c3f17d3bbfc7e4780fdd697215837f22da219f336105044390067",
  "url": "https://osv.dev/vulnerability/CVE-2026-84997",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "react/http: A malformed HTTP chunked body can lead to a denial-of-service and peg the CPU",
    "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.",
    "evidence": "osv:CVE-2026-84997",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-84997",
      "aliases": [
        "CVE-2026-84997",
        "GHSA-x424-64qh-5j54"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/reactphp/http",
              "type": "GIT",
              "events": [
                {
                  "introduced": "b5e7d9bfc9effe8ec723af942c66df042ad17fe6"
                },
                {
                  "fixed": "e5b8eb2654dec6cbbc692a39f05ea4ecd40c8cc1"
                },
                {
                  "fixed": "b6d4688790adf3797071fcf88a3fc4225f30486a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.6.0"
                      },
                      {
                        "fixed": "1.11.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b6d4688790adf3797071fcf88a3fc4225f30486a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "e5b8eb2654dec6cbbc692a39f05ea4ecd40c8cc1"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.11.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.11.0",
            "v1.10.0",
            "v1.9.0",
            "v1.8.0",
            "v1.7.0",
            "v1.6.0",
            "v1.5.0",
            "v1.4.0",
            "v1.3.0",
            "v1.2.0",
            "v1.1.0",
            "v1.0.0",
            "v0.8.7",
            "v0.8.6",
            "v0.8.5",
            "v0.8.4",
            "v0.8.3",
            "v0.8.2",
            "v0.8.1",
            "v0.8.0",
            "v0.7.4",
            "v0.7.3",
            "v0.7.2",
            "v0.7.1",
            "v0.7.0",
            "v0.6.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-84997.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.097609779Z",
      "provider": "osv",
      "references": [
        "https://github.com/reactphp/http/releases/tag/v1.11.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/84xxx/CVE-2026-84997.json",
        "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"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-835"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/84xxx/CVE-2026-84997.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-84997",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 510018,
  "published_at": "2026-09-16T14:07:52.948+00:00"
}