Pydantic AI: web_fetch_tool blocked_domains bypass via a hostname the resolver normalizes differently (pydantic pydantic-ai)

CVE-2026-107288
LOW 3.7

En bref

Source
NVD
EPSS
EPSS 0.37 % · centile 31 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
GitHub_M
Statut NVD
Analyzed

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.

Faiblesses (CWE)

  • CWE-918 — Falsification de requête côté serveur (SSRF)
  • CWE-1289 — Improper Validation of Unsafe Equivalence in Input

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1LOW 3.7CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:NGitHub_M
CVSS 3.1LOW 3.7CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:NNVD · security-advisories@github.com (Secondary)

Références européennes

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
pydantic · pydantic-aiaffected >= 1.77.0, < 1.107.6 ; affected >= 2.0.0b1, < 2.44.0
pydantic · pydantic-ai-slimaffected >= 1.77.0, < 1.107.6 ; affected >= 2.0.0b1, < 2.44.0

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD