{"items":[{"id":"NVI-00016370","kind":"vulnerability","title":"HTTPX2: Quadratic SSE line buffering can cause CPU denial of service","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-f2fp-rgf2-35cp","CVE-2026-84378"],"plain_summary":"GitHub lists this reviewed advisory for httpx2. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-6bb2f3af8a9342cde831653ec5cedf12"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-08T20:45:32.000Z","value":"5.9 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-6bb2f3af8a9342cde831653ec5cedf12"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-6bb2f3af8a9342cde831653ec5cedf12","url":"https://github.com/advisories/GHSA-f2fp-rgf2-35cp","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-f2fp-rgf2-35cp","publisher":"GitHub Advisory Database","observed_at":"2026-11-02T02:20:31.767Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-6bb2f3af8a9342cde831653ec5cedf12"],"technology":"httpx2","known_exclusions":[],"conditions_summary":"### Summary\n\nHTTPX2's Server-Sent Events (SSE) parser repeatedly copied and rescanned buffered text when a server split one unterminated line across many response chunks. The total work grows quadratically with the length of the line. An attacker-controlled or compromised SSE endpoint can exploit this behavior to consume excessive client CPU.\n\n### Details\n\nBefore version 2.10.0, HTTPX2 combined the complete pending SSE line with each newly received chunk and then scanned the combined text for line separators. If an SSE server sends a long line as many small chunks without a line separator, every chunk causes all previously received text to be copied and scanned again. For `n` fixed-size chunks, this results in O(n²) processing.\n\nThe behavior affects both `httpx2.Client.sse()` and `httpx2.AsyncClient.sse()`. Other response APIs do not use the SSE parsing path.\n\n### Impact\n\nApplications that consume SSE from an attacker-controlled or compromised endpoint can experience excessive CPU usage. A crafted stream can block a synchronous worker or the asynchronous event loop that is consuming it, degrading availability for other work in that process. Confidentiality and integrity are not aff","public_affected_ranges":[">= 2.5.0, < 2.10.0"]}],"null_published_at":"2026-11-04T10:04:27.936Z","source_updated_at":"2026-09-08T20:45:32.000Z","source_disclosed_at":"2026-09-08T20:45:29.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-02T02:20:31.767Z"}],"next_cursor":null,"snapshot_revision":"42594"}