Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends early
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| pydantic | pydantic-ai | affected |
|
||||||
| pydantic | pydantic-ai-slim | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pydantic | Pydantic-ai |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-6fqq-452j-qhrp | Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends early |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.450% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Pydantic pydantic Ai
|
|
| CPEs | cpe:2.3:a:pydantic:pydantic_ai:*:-:*:*:*:python:*:* | |
| Vendors & Products |
Pydantic pydantic Ai
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Pydantic
Pydantic pydantic-ai |
|
| Vendors & Products |
Pydantic
Pydantic pydantic-ai |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends early | |
| Weaknesses | CWE-772 | |
| References |
| |
| Metrics |
cvssV3_1
|