CVE-2026-107289
Description
Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.56.0 until 1.107.6 and 2.44.0, applications that opt attacker-influenced URLs into local network access through FileUrl with force_download='allow-local' or web_fetch_tool with allow_local_urls=True can bypass the cloud-metadata blocklist by appending an IPv6 zone identifier to an IPv6 metadata address. IPv6Address equality and hashing include the zone identifier, so the blocklist comparison fails even though the network stack ignores the zone on a non-link-local destination and reaches the metadata service, potentially exposing cloud IAM credentials. The opt-in settings are disabled by default, and the issue requires an IPv6-enabled environment. This issue is fixed in versions 1.107.6 and 2.44.0.
How to fix
- pydantic pydantic_ai1.107.6, 2.44.0 or later
- pydantic-ai1.107.6, 2.44.0 or later
- pydantic-ai-slim1.107.6, 2.44.0 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| pydantic pydantic_ai | 1.56.0 ≤ v < 1.107.6, 2.0.0 ≤ v < 2.44.0 | 1.107.6, 2.44.0 |
| pydantic-aiPyPI | 1.56.0 ≤ v < 1.107.6, 2.0.0b1 ≤ v < 2.44.0 | 1.107.6, 2.44.0 |
| pydantic-ai-slimPyPI | 1.56.0 ≤ v < 1.107.6, 2.0.0b1 ≤ v < 2.44.0 | 1.107.6, 2.44.0 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.