Description
Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.34.0 until 1.107.4 and 2.28.0, the Agent.to_web() and clai web development chat endpoint has missing request content-type validation. A website visited by a developer can submit a browser-compatible request to a loopback-hosted chat server, causing the served agent to run and execute tools with the privileges and credentials of the local process; client-relayed approval decisions also leave requires_approval=True tools exposed. Binding to localhost does not prevent a browser page from reaching the loopback address. This issue is fixed in versions 1.107.4 and 2.28.0.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
pydantic pydantic-ai
>= 1.34.0, < 1.107.4affected>= 2.0.0b1, < 2.28.0affected
pydantic pydantic-ai-slim
>= 1.34.0, < 1.107.4affected>= 2.0.0b1, < 2.28.0affected
References
- https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-h4xc-3qfq-jf93 ↗
- https://github.com/pydantic/pydantic-ai/pull/7382 ↗
- https://github.com/pydantic/pydantic-ai/pull/7383 ↗
- https://github.com/pydantic/pydantic-ai/commit/d2690201a1834005d382dbf5c47e0ed94ef8bf46 ↗
- https://github.com/pydantic/pydantic-ai/commit/dd2abbdfa029c9ad138e7cc0edd2eaeaf9ed69c0 ↗
- https://github.com/pydantic/pydantic-ai/releases/tag/v1.107.4 ↗
- https://github.com/pydantic/pydantic-ai/releases/tag/v2.28.0 ↗