CVE-2026-107287
CVE-2026-107287 · Pydantic AI: Excessive resource use when local web fetching converts nested HTML
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.77.0 until 1.107.7 and 2.52.0, the local web_fetch_tool and the WebFetch local fallback can consume excessive CPU and memory during HTML-to-Markdown conversion of attacker-controlled HTML containing deeply nested block elements. Conversion repeatedly reprocesses accumulated text and can greatly expand intermediate output before the returned-content limit is applied, allowing a model-directed fetch to delay other work in the process. Provider-native web fetching is not affected. This issue is fixed in versions 1.107.7 and 2.52.0.
CVSS 6.5 · Medium · EPSS 0.3% · Fix available
- Published
- Updated
Stack: python
Affected products and versions
pydantic-ai
- Versions
- >= 1.77.0, < 1.107.7: Affected
- >= 2.0.0b1, < 2.52.0: Affected
No fix published
pydantic-ai-slim
- Versions
- >= 1.77.0, < 1.107.7: Affected
- >= 2.0.0b1, < 2.52.0: Affected
No fix published
pydantic-ai PyPI
- Versions
- 1.100.0
- 1.101.0
- 1.102.0
- 1.103.0
- 1.104.0
- 1.105.0
- 1.106.0
- 1.107.0
- 1.107.1
- 1.107.2
- 1.107.4
- 1.107.5
- 1.107.6
- 1.77.0
- 1.78.0
- 1.79.0
- 1.80.0
- 1.81.0
- 1.82.0
- 1.83.0
- 1.84.0
- 1.84.1
- 1.85.0
- 1.85.1
- 1.86.0
- 1.86.1
- 1.87.0
- 1.88.0
- 1.89.0
- 1.89.1
- 1.90.0
- 1.91.0
- 1.92.0
- 1.93.0
- 1.94.0
- 1.95.0
- 1.95.1
- 1.96.0
- 1.96.1
- 1.97.0
- 1.98.0
- 1.99.0
- Affected ranges
- ECOSYSTEM: ≥ 1.77.0, < 1.107.7
Update to 1.107.7
pydantic-ai PyPI
- Versions
- 2.0.0
- 2.0.0b1
- 2.0.0b2
- 2.0.0b3
- 2.0.0b4
- 2.0.0b5
- 2.0.0b6
- 2.0.0b7
- 2.1.0
- 2.10.0
- 2.11.0
- 2.12.0
- 2.13.0
- 2.14.0
- 2.14.1
- 2.15.0
- 2.16.0
- 2.17.0
- 2.18.0
- 2.19.0
- 2.2.0
- 2.20.0
- 2.21.0
- 2.22.0
- 2.23.0
- 2.24.0
- 2.25.0
- 2.26.0
- 2.27.0
- 2.27.1
- 2.28.0
- 2.29.0
- 2.3.0
- 2.30.0
- 2.31.0
- 2.31.1
- 2.32.0
- 2.32.1
- 2.32.2
- 2.33.0
- 2.34.0
- 2.35.0
- 2.35.1
- 2.35.3
- 2.36.0
- 2.37.0
- 2.38.0
- 2.39.0
- 2.4.0
- 2.40.0
- 2.41.0
- 2.42.0
- 2.43.0
- 2.44.0
- 2.45.0
- 2.46.0
- 2.47.0
- 2.48.0
- 2.49.0
- 2.5.0
- 2.5.1
- 2.50.0
- 2.51.0
- 2.6.0
- 2.7.0
- 2.8.0
- 2.9.0
- 2.9.1
- Affected ranges
- ECOSYSTEM: ≥ 2.0.0b1, < 2.52.0
Update to 2.52.0
pydantic-ai-slim PyPI
- Versions
- 1.100.0
- 1.101.0
- 1.102.0
- 1.103.0
- 1.104.0
- 1.105.0
- 1.106.0
- 1.107.0
- 1.107.1
- 1.107.2
- 1.107.4
- 1.107.5
- 1.107.6
- 1.77.0
- 1.78.0
- 1.79.0
- 1.80.0
- 1.81.0
- 1.82.0
- 1.83.0
- 1.84.0
- 1.84.1
- 1.85.0
- 1.85.1
- 1.86.0
- 1.86.1
- 1.87.0
- 1.88.0
- 1.89.0
- 1.89.1
- 1.90.0
- 1.91.0
- 1.92.0
- 1.93.0
- 1.94.0
- 1.95.0
- 1.95.1
- 1.96.0
- 1.96.1
- 1.97.0
- 1.98.0
- 1.99.0
- Affected ranges
- ECOSYSTEM: ≥ 1.77.0, < 1.107.7
Update to 1.107.7
pydantic-ai-slim PyPI
- Versions
- 2.0.0
- 2.0.0b1
- 2.0.0b2
- 2.0.0b3
- 2.0.0b4
- 2.0.0b5
- 2.0.0b6
- 2.0.0b7
- 2.1.0
- 2.10.0
- 2.11.0
- 2.12.0
- 2.13.0
- 2.14.0
- 2.14.1
- 2.15.0
- 2.16.0
- 2.17.0
- 2.18.0
- 2.19.0
- 2.2.0
- 2.20.0
- 2.21.0
- 2.22.0
- 2.23.0
- 2.24.0
- 2.25.0
- 2.26.0
- 2.27.0
- 2.27.1
- 2.28.0
- 2.29.0
- 2.3.0
- 2.30.0
- 2.31.0
- 2.31.1
- 2.32.0
- 2.32.1
- 2.32.2
- 2.33.0
- 2.34.0
- 2.35.0
- 2.35.1
- 2.35.3
- 2.36.0
- 2.37.0
- 2.38.0
- 2.39.0
- 2.4.0
- 2.40.0
- 2.41.0
- 2.42.0
- 2.43.0
- 2.44.0
- 2.45.0
- 2.46.0
- 2.47.0
- 2.48.0
- 2.49.0
- 2.5.0
- 2.5.1
- 2.50.0
- 2.51.0
- 2.6.0
- 2.7.0
- 2.8.0
- 2.9.0
- 2.9.1
- Affected ranges
- ECOSYSTEM: ≥ 2.0.0b1, < 2.52.0
Update to 2.52.0
pydantic-ai PyPI
- Versions
- 1.100.0
- 1.101.0
- 1.102.0
- 1.103.0
- 1.104.0
- 1.105.0
- 1.106.0
- 1.107.0
- 1.107.1
- 1.107.2
- 1.107.4
- 1.107.5
- 1.107.6
- 1.77.0
- 1.78.0
- 1.79.0
- 1.80.0
- 1.81.0
- 1.82.0
- 1.83.0
- 1.84.0
- 1.84.1
- 1.85.0
- 1.85.1
- 1.86.0
- 1.86.1
- 1.87.0
- 1.88.0
- 1.89.0
- 1.89.1
- 1.90.0
- 1.91.0
- 1.92.0
- 1.93.0
- 1.94.0
- 1.95.0
- 1.95.1
- 1.96.0
- 1.96.1
- 1.97.0
- 1.98.0
- 1.99.0
- 2.0.0
- 2.0.0b1
- 2.0.0b2
- 2.0.0b3
- 2.0.0b4
- 2.0.0b5
- 2.0.0b6
- 2.0.0b7
- 2.1.0
- 2.10.0
- 2.11.0
- 2.12.0
- 2.13.0
- 2.14.0
- 2.14.1
- 2.15.0
- 2.16.0
- 2.17.0
- 2.18.0
- 2.19.0
- 2.2.0
- 2.20.0
- 2.21.0
- 2.22.0
- 2.23.0
- 2.24.0
- 2.25.0
- 2.26.0
- 2.27.0
- 2.27.1
- 2.28.0
- 2.29.0
- 2.3.0
- 2.30.0
- 2.31.0
- 2.31.1
- 2.32.0
- 2.32.1
- 2.32.2
- 2.33.0
- 2.34.0
- 2.35.0
- 2.35.1
- 2.35.3
- 2.36.0
- 2.37.0
- 2.38.0
- 2.39.0
- 2.4.0
- 2.40.0
- 2.41.0
- 2.42.0
- 2.43.0
- 2.44.0
- 2.45.0
- 2.46.0
- 2.47.0
- 2.48.0
- 2.49.0
- 2.5.0
- 2.5.1
- 2.50.0
- 2.51.0
- 2.6.0
- 2.7.0
- 2.8.0
- 2.9.0
- 2.9.1
- Affected ranges
- ECOSYSTEM: ≥ 1.77.0, < 1.107.7 ∪ ≥ 2.0.0b1, < 2.52.0
Update to 1.107.7; Update to 2.52.0
pydantic-ai-slim PyPI
- Versions
- 1.100.0
- 1.101.0
- 1.102.0
- 1.103.0
- 1.104.0
- 1.105.0
- 1.106.0
- 1.107.0
- 1.107.1
- 1.107.2
- 1.107.4
- 1.107.5
- 1.107.6
- 1.77.0
- 1.78.0
- 1.79.0
- 1.80.0
- 1.81.0
- 1.82.0
- 1.83.0
- 1.84.0
- 1.84.1
- 1.85.0
- 1.85.1
- 1.86.0
- 1.86.1
- 1.87.0
- 1.88.0
- 1.89.0
- 1.89.1
- 1.90.0
- 1.91.0
- 1.92.0
- 1.93.0
- 1.94.0
- 1.95.0
- 1.95.1
- 1.96.0
- 1.96.1
- 1.97.0
- 1.98.0
- 1.99.0
- 2.0.0
- 2.0.0b1
- 2.0.0b2
- 2.0.0b3
- 2.0.0b4
- 2.0.0b5
- 2.0.0b6
- 2.0.0b7
- 2.1.0
- 2.10.0
- 2.11.0
- 2.12.0
- 2.13.0
- 2.14.0
- 2.14.1
- 2.15.0
- 2.16.0
- 2.17.0
- 2.18.0
- 2.19.0
- 2.2.0
- 2.20.0
- 2.21.0
- 2.22.0
- 2.23.0
- 2.24.0
- 2.25.0
- 2.26.0
- 2.27.0
- 2.27.1
- 2.28.0
- 2.29.0
- 2.3.0
- 2.30.0
- 2.31.0
- 2.31.1
- 2.32.0
- 2.32.1
- 2.32.2
- 2.33.0
- 2.34.0
- 2.35.0
- 2.35.1
- 2.35.3
- 2.36.0
- 2.37.0
- 2.38.0
- 2.39.0
- 2.4.0
- 2.40.0
- 2.41.0
- 2.42.0
- 2.43.0
- 2.44.0
- 2.45.0
- 2.46.0
- 2.47.0
- 2.48.0
- 2.49.0
- 2.5.0
- 2.5.1
- 2.50.0
- 2.51.0
- 2.6.0
- 2.7.0
- 2.8.0
- 2.9.0
- 2.9.1
- Affected ranges
- ECOSYSTEM: ≥ 1.77.0, < 1.107.7 ∪ ≥ 2.0.0b1, < 2.52.0
Update to 1.107.7; Update to 2.52.0
Original sources
- https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-v36g-jcw9-x7cw
- https://github.com/pydantic/pydantic-ai/pull/8984
- https://github.com/pydantic/pydantic-ai/pull/8985
- https://github.com/pydantic/pydantic-ai/commit/2b247add4950bef61d352e7ca8aefbd20539180c
- https://github.com/pydantic/pydantic-ai/commit/2fd38792693da00a3ca5412aeffb436787af3545
- https://github.com/pydantic/pydantic-ai/releases/tag/v1.107.7
- https://github.com/pydantic/pydantic-ai/releases/tag/v2.52.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-107287