DNS rebinding in Pydantic AI web chat lets sites reach local agents
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- High
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · High · Low
- Fix status
- Partial Red Hat: 2 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-346.
Summary
The Agent.to_web() and clai web chat server in pydantic-ai and pydantic-ai-slim from 1.34.0 before 1.107.5 and from 2.0.0b1 before 2.30.0 does not validate the Host header (CWE-346). A developer visiting a hostile website can let it use DNS rebinding to reach the loopback agent as a same-origin service. The page can submit chat requests that run agent tools with the local process's privileges, causing data disclosure or unwanted side effects.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.34.0 until 2.30.0, the Agent.to_web() and clai web development chat server does not validate the Host header, allowing a website visited by a developer to use DNS rebinding to reach a loopback-hosted agent as a same-origin service. The hostile page can read the served UI and submit chat requests that execute agent tools with the local process's privileges and credentials, causing data disclosure or unwanted side effects. Binding to localhost, Origin checks, and CSRF tokens do not prevent the same-origin DNS rebinding path. This issue is fixed in versions 1.107.5 and 2.30.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pydantic | pydantic-ai | 1.34.0 to before 2.0.0b1; 2.0.0b1 to before 2.30.0 | 2.30.0 | Patch available | CNA |
| pydantic | pydantic-ai-slim | 1.34.0 to before 2.0.0b1; 2.0.0b1 to before 2.30.0 | 2.30.0 | Patch available | CNA |
| — | pydantic-ai (PyPI) | 1.34.0 to before 1.107.5 | 1.107.5 | Patch available | GHSA-q2xc-rrxj-58x9 |
| — | pydantic-ai (PyPI) | 2.0.0b1 to before 2.30.0 | 2.30.0 | Patch available | GHSA-q2xc-rrxj-58x9 |
| — | pydantic-ai-slim (PyPI) | 1.34.0 to before 1.107.5 | 1.107.5 | Patch available | GHSA-q2xc-rrxj-58x9 |
| — | pydantic-ai-slim (PyPI) | 2.0.0b1 to before 2.30.0 | 2.30.0 | Patch available | GHSA-q2xc-rrxj-58x9 |
- pydantic-ai Vendorpydantic Affected 1.34.0 to before 2.0.0b1; 2.0.0b1 to before 2.30.0 Fixed in 2.30.0 Patch available CNA
- pydantic-ai-slim Vendorpydantic Affected 1.34.0 to before 2.0.0b1; 2.0.0b1 to before 2.30.0 Fixed in 2.30.0 Patch available CNA
- pydantic-ai (PyPI) Vendor— Affected 1.34.0 to before 1.107.5 Fixed in 1.107.5 Patch available GHSA-q2xc-rrxj-58x9
- pydantic-ai (PyPI) Vendor— Affected 2.0.0b1 to before 2.30.0 Fixed in 2.30.0 Patch available GHSA-q2xc-rrxj-58x9
- pydantic-ai-slim (PyPI) Vendor— Affected 1.34.0 to before 1.107.5 Fixed in 1.107.5 Patch available GHSA-q2xc-rrxj-58x9
- pydantic-ai-slim (PyPI) Vendor— Affected 2.0.0b1 to before 2.30.0 Fixed in 2.30.0 Patch available GHSA-q2xc-rrxj-58x9
Remediation
Upgrade pydantic-ai and pydantic-ai-slim to version 1.107.5 or 2.30.0. Red Hat has no fix plan available for Lightspeed Core or Red Hat Enterprise Linux AI (RHEL AI) 3.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA pydantic-ai (pydantic) Fixed in 2.30.0
- Fix · CNA pydantic-ai-slim (pydantic) Fixed in 2.30.0
- Fix · GHSA-q2xc-rrxj-58x9 pydantic-ai (PyPI) Fixed in 1.107.5 Advisory →
- Fix · GHSA-q2xc-rrxj-58x9 pydantic-ai (PyPI) Fixed in 2.30.0 Advisory →
- Fix · GHSA-q2xc-rrxj-58x9 pydantic-ai-slim (PyPI) Fixed in 1.107.5 Advisory →
- Fix · GHSA-q2xc-rrxj-58x9 pydantic-ai-slim (PyPI) Fixed in 2.30.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Lightspeed Core | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-08 Threatist record created from CVE-2026-107292
- 2026-10-08 Alias added: GHSA-q2xc-rrxj-58x9
- 2026-10-09 Affected versions changed · Red Hat
- 2026-10-09 CVSS score added · Red Hat
- 2026-10-10 Priority changed: MEDIUM → LOW
- 2026-10-14 CISA SSVC decision points changed
References
Patch 6
- https://github.com/pydantic/pydantic-ai/pull/7437
- https://github.com/pydantic/pydantic-ai/pull/7438
- https://github.com/pydantic/pydantic-ai/commit/394cc1d31656620704a703a2daed752afa5135fe
- https://github.com/pydantic/pydantic-ai/commit/871c7aeec5dfed2138655ccbccbf15c6d763bae7
- https://github.com/pydantic/pydantic-ai/releases/tag/v1.107.5
- https://github.com/pydantic/pydantic-ai/releases/tag/v2.30.0
More Pydantic Ai vulnerabilities
- TI-2026-20687 Pydantic AI Affected by Server-Side Request Forgery (SSRF) in URL Download Handling CVSS 3.1HIGH 8.6
- TI-2026-69551 Pydantic AI keeps concurrency slots after streams end early CVSS 3.1HIGH 7.5
- TI-2026-46990 Incorrect authorization in pydantic-ai CVSS 3.1MEDIUM 6.5
- TI-2026-69610 Cross-site requests run agent tools in pydantic-ai web chat CVSS 3.1HIGH 7.6
- TI-2026-20740 Pydantic AI affected by Stored XSS via Path Traversal in Web UI CDN URL CVSS 3.1HIGH 7.1
- TI-2026-69617 Pydantic AI blocklist bypass via IPv6 zone identifier allows SSRF CVSS 3.1MEDIUM 6.8
Sources
- CVE-2026-107292 · CVE Program
- CVE-2026-107292 · NVD
- FIRST EPSS
- GHSA-q2xc-rrxj-58x9 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-107292 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences