Medium severity · published Oct 8, 2026
CVE-2026-107289
Pydantic AI: SSRF cloud-metadata blocklist bypass via IPv6 zone identifier (incomplete fix for CVE-2026-46678 and CVE-2026-48782)
6.8
CVSS
0.4%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 33% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PY
pydantic-ai · pydantic
>= 1.56.0, < 1.107.6; >= 2.0.0b1, < 2.44.0 · source: vendor
PY
pydantic-ai-slim · pydantic
>= 1.56.0, < 1.107.6; >= 2.0.0b1, < 2.44.0 · source: vendor
PA
Pydantic AI · Pydantic
1.56.0 before 1.107.6; 2.0.0 before 2.44.0 · source: NVD
Affected product
PY
pydantic-ai
pydantic
More from pydantic-ai
8.6
CVE-2026-25580
Pydantic AI Affected by Server-Side Request Forgery (SSRF) in URL Download Handling
7.6
CVE-2026-107295
`pydantic-ai-slim` web UI `/api/chat` accepts browser-simple cross-origin requests that can trigger agent tool execution
7.5
CVE-2026-107286
Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends early
6.8
CVE-2026-54249
VercelAIAdapter trusts client-controlled `providerMetadata` to construct `UploadedFile` — S3/GCS confused deputy via provider metadata injection
6.8
CVE-2026-48782
pydantic-ai: SSRF blocklist bypass via IPv4-compatible, SIIT/IVI, and local NAT64 IPv6 addresses (incomplete fix of CVE-2026-46678)