{"id":"GHSA-3589-pxp7-3gj8","summary":"Pydantic AI Harness tool-call limit bypass in nested CodeMode calls","details":"Pydantic AI Harness before 0.59.0 fails to enforce UsageLimits.tool_calls_limit on nested tool calls dispatched from run_code in the CodeMode toolset. Users or prompt-injected content can make the sandboxed program invoke tools via run_nested_call() without check_before_tool_call, exceeding operator limits on costly or side-effecting tools.","aliases":["CVE-2026-114386"],"modified":"2026-10-23T21:00:05.311948379Z","published":"2026-10-21T15:42:26Z","database_specific":{"github_reviewed_at":"2026-10-23T20:55:50Z","nvd_published_at":"2026-10-21T13:18:28Z","cwe_ids":["CWE-770"],"severity":"MODERATE","github_reviewed":true},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114386"},{"type":"WEB","url":"https://github.com/pydantic/pydantic-ai/pull/10362"},{"type":"WEB","url":"https://github.com/pydantic/pydantic-ai/commit/eb27b2b89fe76ae23ee9b6fc9eb4b227a4967949"},{"type":"PACKAGE","url":"https://github.com/pydantic/pydantic-ai"},{"type":"WEB","url":"https://github.com/pydantic/pydantic-ai/blob/v2.58.0/src/pydantic_ai_harness/pydantic_ai_harness/code_mode/_toolset.py#L642-L680"},{"type":"WEB","url":"https://github.com/pydantic/pydantic-ai/releases/tag/v2.59.0"},{"type":"WEB","url":"https://pypi.org/project/pydantic-ai-harness/0.59.0"},{"type":"WEB","url":"https://www.vulncheck.com/advisories/pydantic-ai-harness-before-0.59.0-codemode-tool-call-limit-bypass-via-run-code"}],"affected":[{"package":{"name":"pydantic-ai-harness","ecosystem":"PyPI","purl":"pkg:pypi/pydantic-ai-harness"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.59.0"}]}],"versions":["0.1.1","0.1.2","0.10.0","0.11.0","0.12.0","0.13.0","0.14.0","0.15.0","0.16.0","0.17.0","0.18.0","0.18.1","0.2.0","0.2.1","0.20.0","0.21.0","0.22.0","0.23.0","0.24.0","0.25.0","0.26.0","0.27.0","0.28.0","0.28.1","0.29.0","0.29.1","0.3.0","0.30.0","0.31.0","0.32.0","0.33.0","0.34.0","0.35.0","0.36.0","0.4.0","0.5.0","0.52.0","0.53.0","0.54.0","0.55.0","0.56.0","0.57.0","0.58.0","0.6.0","0.7.0","0.7.1","0.8.0","0.9.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-3589-pxp7-3gj8/GHSA-3589-pxp7-3gj8.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"}]}