CVE-2026-107289: Pydantic AI: SSRF cloud-metadata blocklist bypass via IPv6 zone identifiers
When an application using Pydantic AI opts a URL into local network access — either a FileUrl with force_download='allow-local', or web_fetch_tool(allow_local_urls=True) — the cloud-metadata blocklist could be bypassed by appending an IPv6 zone identifier to a metadata address (for example fd00:ec2::254%251). The host ignores the zone identifier on a destination that is not link-local and delivers the request to the metadata endpoint anyway, exposing cloud IAM short-term credentials.
References
- github.com/advisories/GHSA-vmxc-h2x2-jmf3
- github.com/pydantic/pydantic-ai/commit/02157e1b87bd45d3f2e111ce07afdf89f9fb0e5b
- github.com/pydantic/pydantic-ai/commit/4da70591460f51a8c4f128eaeef70a33340dbd55
- github.com/pydantic/pydantic-ai/pull/8401
- github.com/pydantic/pydantic-ai/pull/8402
- github.com/pydantic/pydantic-ai/releases/tag/v1.107.6
- github.com/pydantic/pydantic-ai/releases/tag/v2.44.0
- github.com/pydantic/pydantic-ai/security/advisories/GHSA-vmxc-h2x2-jmf3
- nvd.nist.gov/vuln/detail/CVE-2026-107289
Code Behaviors & Features
Detect and mitigate CVE-2026-107289 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →