Summary
Pydantic AI Web chat UI (Agent.to_web(), clai web): the local chat endpoint does not validate the Host header
The Pydantic AI development web chat UI (Agent.to_web(), clai web) does not validate the Host header of incoming requests. A website a developer visits can use DNS rebinding to make requests to a chat UI running on that developer's machine appear same-origin to the browser, causing the served agent to run and to execute its tools with the privileges and credentials of the local process.
Details
Once a name the attacker controls resolves to the loopback address, the browser treats the request as same-origin, so neither an Origin check nor a CSRF token constrains it, a same-origin page can read the served UI and any token in it.
Binding the web UI to localhost, the default, does not prevent this.
Mitigation
Upgrade to pydantic-ai/pydantic-ai-slim >= 2.30.0, or >= 1.107.5 on the v1 maintenance line.
The fix validates the Host header and rejects anything other than localhost, a loopback/LAN IP address, or an explicitly allowed host, responding 421 Misdirected Request otherwise. If you serve the web chat UI under a real hostname, behind a reverse proxy, tunnel, or similar, name it explicitly:
app = agent.to_web(allowed_hosts=['ui.example.com'])
Impact
Applications and developers serving an agent through Agent.to_web() or clai web. The consequences depend on the tools the served agent exposes, and can include data disclosure as well as unwanted tool side effects.
Current browser protections reduce but do not remove this exposure: Chromium's Local Network Access gates loopback subresource requests, but does not cover top-level navigations, and Safari does not implement it.
CVE-2026-107292 has a CVSS score of 6.4 (Medium). The vector is network-reachable, no privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (1.107.5, 2.30.0); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
pydantic-ai to 1.107.5 or later; pydantic-ai to 2.30.0 or later; pydantic-ai-slim to 1.107.5 or later; pydantic-ai-slim to 2.30.0 or later
Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.
Frequently Asked Questions
- What is CVE-2026-107292? CVE-2026-107292 is a medium-severity security vulnerability in pydantic-ai (pip), affecting versions >= 1.34.0, < 1.107.5. It is fixed in 1.107.5, 2.30.0.
- How severe is CVE-2026-107292? CVE-2026-107292 has a CVSS score of 6.4 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which packages are affected by CVE-2026-107292?
pydantic-ai(pip) (versions >= 1.34.0, < 1.107.5)pydantic-ai-slim(pip) (versions >= 1.34.0, < 1.107.5)
- Is there a fix for CVE-2026-107292? Yes. CVE-2026-107292 is fixed in 1.107.5, 2.30.0. Upgrade to this version or later.
- Is CVE-2026-107292 exploitable, and should I be worried? Whether CVE-2026-107292 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-107292 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-107292?
- Upgrade
pydantic-aito 1.107.5 or later - Upgrade
pydantic-aito 2.30.0 or later - Upgrade
pydantic-ai-slimto 1.107.5 or later - Upgrade
pydantic-ai-slimto 2.30.0 or later
- Upgrade