Low severity · published Oct 8, 2026
CVE-2026-107288
Pydantic AI: web_fetch_tool blocked_domains bypass via a hostname the resolver normalizes differently
3.7
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.77.0 until 1.107.6 and 2.44.0, the local web_fetch_tool and the WebFetch local fallback compare blocked_domains entries with a URL hostname before both values are normalized to the form used by getaddrinfo. An attacker-influenced model can use an equivalent IDNA spelling, non-ASCII label separator, case variation, or trailing root label that resolves to a blocked host but does not match the configured string, causing the application to fetch that host with its own privileges. allowed_domains fails closed for unmatched spellings, and private-IP and cloud-metadata protections remain effective. 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:U/C:L/I:N/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
Low
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 31% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PY
pydantic-ai · pydantic
>= 1.77.0, < 1.107.6; >= 2.0.0b1, < 2.44.0 · source: vendor
PY
pydantic-ai-slim · pydantic
>= 1.77.0, < 1.107.6; >= 2.0.0b1, < 2.44.0 · source: vendor
PA
Pydantic AI · Pydantic
1.77.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 is a Python agent framework for building applications and workflows with Generative AI
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-107289
Pydantic AI: SSRF cloud-metadata blocklist bypass via IPv6 zone identifier (incomplete fix for CVE-2026-46678 and CVE-2026-48782)
6.8
CVE-2026-54249
VercelAIAdapter trusts client-controlled `providerMetadata` to construct `UploadedFile` — S3/GCS confused deputy via provider metadata injection