Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-107288— Pydantic AI: web_fetch_tool blocked_domains bypass via a hostname the resolver normalizes differently

Quick assessment

Affected
pydantic pydantic-ai
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

漏洞描述翻译: Pydantic AI 是一个用于构建生成式 AI 应用和工作流的 Python 智能体框架。在版本 1.77.0 至 1.107.6 以及 2.44.0 之前, 和 WebFetch 的本地回退机制在将 条目与 URL 主机名进行比较时,未先将两者统一转换为 所使用的标准化格式。攻击者可利用模型可控的等效 IDNA 拼写、非 ASCII 标签分隔符、大小写差异或尾部根标签等方式,使解析结果指向一个被阻止的主机,但该主机名称在比较时无法与配置中的字符串匹配,从而导致应用以自身权限访问该主机。 对于不

CVSS 3.7 · Low

Possible ATT&CK Techniques 1 AI

T1059 · Command and Scripting Interpreter
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-107288

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Pydantic AI: web_fetch_tool blocked_domains bypass via a hostname the resolver normalizes differently
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
服务端请求伪造(SSRF)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
pydantic pydantic-ai >= 1.77.0, < 1.107.6 -
pydantic pydantic-ai-slim >= 1.77.0, < 1.107.6 -

II. Public POCs for CVE-2026-107288

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-107288

请登录查看更多情报信息。

Other References for CVE-2026-107288 (9)

Same Patch Batch · pydantic · 2026-10-08 · 10 CVEs total

CVE-2026-107295 7.6 HIGH `pydantic-ai-slim` web UI `/api/chat` accepts browser-simple cross-origin requests that ca
CVE-2026-107286 7.5 HIGH Pydantic AI: Concurrency-limited models can keep their slot when a streamed request ends e
CVE-2026-107289 6.8 MEDIUM Pydantic AI: SSRF cloud-metadata blocklist bypass via IPv6 zone identifier (incomplete fix
CVE-2026-107287 6.5 MEDIUM Pydantic AI: Excessive resource use when local web fetching converts nested HTML
CVE-2026-107290 6.5 MEDIUM Pydantic AI: Event loop blocked by quadratic title extraction in `web_fetch`
CVE-2026-107294 6.5 MEDIUM Pydantic AI: Unbounded memory use when downloading remote content via web_fetch or FileUrl
CVE-2026-107292 6.4 MEDIUM Pydantic AI Web chat UI (`Agent.to_web()`, `clai web`): the local chat endpoint does not v
CVE-2026-107291 2.3 LOW Pydantic AI OpenTelemetry instrumentation: exception events on tool and agent run spans in
CVE-2026-107293 2.3 LOW Pydantic AI OpenTelemetry instrumentation: retry prompt content is not redacted when `incl

IV. Related Vulnerabilities

V. Comments for CVE-2026-107288

No comments yet


Leave a comment