Medium severity · published Sep 2, 2026
CVE-2026-84378
HTTPX2: Quadratic SSE line buffering can cause CPU denial of service
5.9
CVSS
0.3%
EPSS
No
On KEV
Description
HTTPX2 is a next generation HTTP client for Python. From 2.5.0 until 2.10.0, the HTTPX2 Server-Sent Events parser in src/httpx2/httpx2/_sse.py repeatedly copies and rescans buffered text in _SSELineDecoder.decode() when an attacker-controlled or compromised SSE endpoint splits one unterminated line across many response chunks. The behavior affects httpx2.Client.sse() and httpx2.AsyncClient.sse(), and the total processing work grows quadratically with the line length, allowing a crafted stream to consume excessive CPU and block a synchronous worker or asynchronous event loop. This issue is fixed in version 2.10.0.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 24% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HT
httpx2 · pydantic
>= 2.5.0, < 2.10.0 · source: vendor
Affected product
HT
httpx2
pydantic
More from httpx2
8.1
CVE-2026-84381
HTTPX2: Secure WebSocket traffic sent without TLS through SOCKS proxies
7.5
CVE-2026-84382
HTTPX2: Streaming response decompression does not bound peak memory (decompression amplification)
5.6
CVE-2026-84380
HTTPX2: Conflicting Content-Length and Transfer-Encoding headers can be auto-generated
5.3
CVE-2026-84379
HTTPX2: Multipart part header injection via unvalidated file Content-Type and custom headers