CVE-2026-107286

Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends early

HIGH
7.5
CVSS Score
Published: October 8, 2026 at 03:12 PM UTC
Updated: October 13, 2026 at 02:36 PM UTC
2 products affected across 1 vendorPydantic AIPydantic AI Slim

Using pydantic-ai by pydantic?

Get instant alerts when new vulnerabilities affect pydantic-ai - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.5
Exploit prediction
EPSS 0.4%
SSVC
No known exploit

Description

Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 2.10.0 until 2.53.0, streamed requests made through ConcurrencyLimitedModel or limit_model_concurrency can retain shared concurrency slots because anyio.CapacityLimiter associates an acquired slot with the borrowing task while streaming cleanup can run in a different task. Early stream termination, cancellation, consumer exceptions, or complete stream_text() consumption with debounce_by=0.1 can therefore leave capacity occupied, eventually preventing later requests that share the long-lived limiter from proceeding and causing a denial of service. Agent-level max_concurrency and non-streaming model requests are not affected. This issue is fixed in version 2.53.0.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

References (4)

x_refsource_CONFIRMMitigationVendor Advisory
Source: cverecord
https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-6fqq-452j-qhrp
x_refsource_MISCPatchVendor Advisory
Source: cverecord
https://github.com/pydantic/pydantic-ai/pull/9478
x_refsource_MISCPatchRelease NotesVendor Advisory
Source: cverecord
https://github.com/pydantic/pydantic-ai/releases/tag/v2.53.0

SSVC — Action Prioritization

SSVCNo known exploitAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.5HIGHGitHub_M
Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-772

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card