---
id: CVE-2026-84378
title: HTTPX2 is a next generation HTTP client for Python
summary: >-
  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-contr…
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-407
  - CWE-606
vendor: httpx2
product: httpx2
affected:
  - 'httpx2 >= 2.5.0, < 2.10.0'
patched:
  - httpx2 2.10.0
published: '2026-09-02'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:05:23.237'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84378'
references:
  - url: >-
      https://github.com/pydantic/httpx2/commit/cbfc0e04ef6507da29ccbb3b9c2e5b23dd693414
    label: security-advisories@github.com
  - url: 'https://github.com/pydantic/httpx2/pull/1071'
    label: security-advisories@github.com
  - url: 'https://github.com/pydantic/httpx2/pull/1117'
    label: security-advisories@github.com
  - url: 'https://github.com/pydantic/httpx2/releases/tag/v2.10.0'
    label: security-advisories@github.com
  - url: 'https://github.com/pydantic/httpx2/security/advisories/GHSA-f2fp-rgf2-35cp'
    label: security-advisories@github.com
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84378'
  - url: 'https://github.com/pydantic/httpx2'
  - url: 'https://github.com/advisories/GHSA-f2fp-rgf2-35cp'
  - url: 'https://pypi.org/project/httpx2'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84378.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-84378'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2527694'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-84378'
tags:
  - nvd
  - osv
  - pip
  - ghsa
  - csaf
  - vex
  - red-hat
epss: 0.00533
epssPercentile: 0.42514
aliases:
  - GHSA-f2fp-rgf2-35cp
  - PYSEC-2026-3847
ecosystem: pip
ingestedAt: '2026-09-08T21:11:12.322Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-84378)

Affected packages:

- `httpx2 >= 2.5.0, < 2.10.0`

Patched in:

- `httpx2 2.10.0`

Source: https://osv.dev/vulnerability/GHSA-f2fp-rgf2-35cp

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Lightspeed Core, Red Hat OpenShift AI (RHOAI) · no fix planned: Lightspeed Core, Red Hat OpenShift AI (RHOAI) · updated 2026-09-22 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84378.json)
