CVE-2026-107295 json
`pydantic-ai-slim` web UI `/api/chat` accepts browser-simple cross-origin requests that can trigger agent tool execution
published last mo. modified 25d ago also EUVD-2026-95106 , GHSA-h4xc-3qfq-jf93 , PYSEC-2026-4278 , PYSEC-2026-4287
- cvss
- 7.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 4%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi pydantic-ai 1.107.4, 2.28.0
- pypi pydantic-ai-slim 1.107.4, 2.28.0
- pydantic pydantic_ai 1.107.4, 2.28.0
- pydantic pydantic_ai_slim 1.107.4, 2.28.0
- github.com/pydantic/pydantic-ai@d269020 commit
- github.com/pydantic/pydantic-ai@dd2abbd commit
- github.com/pydantic/pydantic-ai#7382 pull request
- github.com/pydantic/pydantic-ai#7383 pull request
- github.com/pydantic/pydantic-ai/releases/tag/v1.107.4 release
- github.com/pydantic/pydantic-ai/releases/tag/v2.28.0 release
Is CVE-2026-107295 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-107295 updated cvss 7.6
pydantic-ai-slim: pydantic-ai-slim: Unauthorized tool execution via missing Content-Type validation
-
Red Hat Lightspeed Core lightspeed-core/lightspeed-stack-rhel9affected: workaround, no fix available
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.16% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L |
| GitHub | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L |
| OSV | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pydantic-ai | >=1.34.0, <1.107.4 >=2.0.0b1, <2.28.0 |
1.107.4 2.28.0 |
| pypi | pydantic-ai-slim | >=1.34.0, <1.107.4 >=2.0.0b1, <2.28.0 |
1.107.4 2.28.0 |
Affected products
- pydantic pydantic-ai
- pydantic pydantic-ai-slim
Classification
References
-
github.com
/pydantic/pydantic-ai/pull/7382
web, patch, issue-tracking
-
github.com
/pydantic/pydantic-ai/pull/7383
web, patch, issue-tracking
-
github.com
/pydantic/pydantic-ai/commit/d2690201a1834005d382dbf5c47e0ed94ef8bf46
web, patch
-
github.com
/pydantic/pydantic-ai/commit/dd2abbdfa029c9ad138e7cc0edd2eaeaf9ed69c0
web, patch
-
github.com
/pydantic/pydantic-ai/releases/tag/v1.107.4
web, patch, release-notes
-
github.com
/pydantic/pydantic-ai/releases/tag/v2.28.0
web, patch, release-notes
-
github.com
/pydantic/pydantic-ai/security/advisories/GHSA-h4xc-3qfq-jf93
web, mitigation, vendor-advisory
-
github.com
/pydantic/pydantic-ai
package
-
pypi.org
/project/pydantic-ai
package
-
github.com
/advisories/GHSA-h4xc-3qfq-jf93
advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-107295
advisory
-
pypi.org
/project/pydantic-ai-slim
package
Sources
- CVE List CVE-2026-107295
- GitHub Advisory GHSA-h4xc-3qfq-jf93
- NVD CVE-2026-107295
- OSV PYSEC-2026-4278
- OSV PYSEC-2026-4287
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.