What happened
In controlled attack paths, a hostile website reached a loopback Pydantic AI chat server, submitted instructions to the served agent, and caused it to run configured tools with the local process's privileges and credentials.
2026-10-08
HighVendor postTwo Pydantic AI web-chat flaws let hostile browser pages reach loopback agents, submit instructions, and trigger tools with local process privileges.
What happened
In controlled attack paths, a hostile website reached a loopback Pydantic AI chat server, submitted instructions to the served agent, and caused it to run configured tools with the local process's privileges and credentials.
Why it matters
Potential local data disclosure and unwanted tool side effects under the developer process's credentials. Actual impact depends on which tools the developer exposed; no production victim or in-the-wild exploitation was reported.
Missing authorization check
An independently authenticated decision bound to the exact tool, arguments, principal, and target before a browser-originated agent run can produce a consequential effect.
Would PP block it?
Permission Protocol could separate authority from the compromised browser session and require a signer or policy to approve the resolved tool action. It would not stop DNS rebinding or cross-site requests from reaching the local chat server, and uninstrumented local effects would remain possible.
Incident analysis
2026-10-08
Pydantic publishes GHSA-h4xc-3qfq-jf93 and fixes the missing content-type validation in versions 1.107.4 and 2.28.0.
2026-10-08
Pydantic publishes GHSA-q2xc-rrxj-58x9 and fixes Host-header validation in versions 1.107.5 and 2.30.0.
Authorization boundary
This incident is categorized as Tool execution / MCP. The relevant Permission Protocol gate is Tool-Call Gate. The read is conditional: the block only applies where the real action boundary is routed through a gate.
A Tool-Call Gate outside the browser-relayed chat approval path could reject tool calls that lack a valid grant for the exact action and target, including calls generated from attacker-submitted chat input.
Start small
This incident maps to Tool-Call Gate. Start with the boundary that controls the actual action, then require a signed receipt before execution.