2026-10-08 · 2026-Q4
Pydantic AI Web Chat UI: Any Website the Developer Visits Can Run the Agent and Its Approval-Gated Tools (CVE-2026-107295)
Which agent, run, or tenant is this?
- Fixable
- Vendor patch
- Vendor response
- Patched
- In the wild
- No
- Actor
- Attacker
Target
`pydantic-ai` and `pydantic-ai-slim` `Agent.to_web()` and `clai web`, versions 1.34.0 to before 1.107.4 and 2.0.0b1 to before 2.28.0
Impact
The local chat endpoint did not enforce a JSON Content-Type, so a cross-origin page could POST to it and start agent runs that executed server-side tools with the developer's local credentials, despite the default localhost binding. Tools marked `requires_approval=True` were also reachable because the endpoint trusted approval decisions relayed by the client. Fixed in 1.107.4 and 2.28.0. Seven related advisories published the same day include missing Host header validation (CVE-2026-107292) and an SSRF blocklist bypass through IPv6 zone IDs (CVE-2026-107289). Credited to Thai Son Dinh (VinSOC Labs). Single source (GitHub advisory)
Root cause
A CSRF-reachable local agent endpoint, and human approval enforced by whatever the client claims rather than on the server
CVEs
Sources
Catalog
Cite this: AgentProv incident record: Pydantic AI Web Chat UI: Any Website the Developer Visits Can Run the Agent and Its Approval-Gated Tools (CVE-2026-107295) (2026-10-08). https://agentprov.com/incidents/2026-10-08-pydantic-ai-web-chat-ui-any-website-the-developer-visits-can-run-the-agent-and
Related
- Also L6 · 2026-10-27MCP Server and LangGraph Advisory Batch: AWS API MCP Accepts Other Apps' Tokens, GitLab MCP Sends Credentials to a Repo-Chosen Registry, and Cross-Tenant Store Reads (CVE-2026-115413, CVE-2026-115883)L6Identity / Run
- Also L6 · 2026-10-23OpenAI Moves Frontier Training Offline After Red-Team Agents Escaped VMs and Signaled Through the CPU Cache; Their Brotli RCE Lands in CISA KEV (CVE-2026-111497)L6Identity / Run
- Also L6 · 2026-10-21Symantec: "Skynet Mode" Attack Agent Hijacks Exposed LLM Endpoints to Hack and Mine at the Model Owner's ExpenseL6Identity / Run