All vulnerabilities
CVE-2026-114386GHSA-3589-pxp7-3gj8

pydantic-ai-harness: Pydantic AI Harness tool-call limit bypass in nested CodeMode calls

pydantic pydantic-ai-harnesspipLibraries & packages
CVSS
6.3Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.35%Chance of exploitation activity in the next 30 days, higher than 26% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in0.59.0Fixed versionGitHub
Published21 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 0.59.0pydantic-ai-harness, pipGitHub
  • 0.59.0pydantic-ai-harnessCVE List
  • 0.59.0pydantic-ai-harness, PyPIOSVpip install "pydantic-ai-harness>=0.59.0"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 51

  • pydantic-ai-harness, pip< 0.59.0GitHub
  • pydantic-ai-harnessaffected: all versions before 0.59.0CVE List
  • pydantic-ai-harness, PyPIfrom first release, fixed in 0.59.0OSV
  • pydantic-ai-harness, PyPI0.1.1OSV
  • pydantic-ai-harness, PyPI0.1.2OSV
  • pydantic-ai-harness, PyPI0.10.0OSV
  • pydantic-ai-harness, PyPI0.11.0OSV
  • pydantic-ai-harness, PyPI0.12.0OSV
  • pydantic-ai-harness, PyPI0.13.0OSV
  • pydantic-ai-harness, PyPI0.14.0OSV
  • pydantic-ai-harness, PyPI0.15.0OSV
  • pydantic-ai-harness, PyPI0.16.0OSV
  • pydantic-ai-harness, PyPI0.17.0OSV
  • pydantic-ai-harness, PyPI0.18.0OSV
  • pydantic-ai-harness, PyPI0.18.1OSV
  • pydantic-ai-harness, PyPI0.2.0OSV
  • pydantic-ai-harness, PyPI0.2.1OSV
  • pydantic-ai-harness, PyPI0.20.0OSV
  • pydantic-ai-harness, PyPI0.21.0OSV
  • pydantic-ai-harness, PyPI0.22.0OSV
  • pydantic-ai-harness, PyPI0.23.0OSV
  • pydantic-ai-harness, PyPI0.24.0OSV
  • pydantic-ai-harness, PyPI0.25.0OSV
  • pydantic-ai-harness, PyPI0.26.0OSV
  • pydantic-ai-harness, PyPI0.27.0OSV
  • pydantic-ai-harness, PyPI0.28.0OSV
  • pydantic-ai-harness, PyPI0.28.1OSV
  • pydantic-ai-harness, PyPI0.29.0OSV
  • pydantic-ai-harness, PyPI0.29.1OSV
  • pydantic-ai-harness, PyPI0.3.0OSV
  • pydantic-ai-harness, PyPI0.30.0OSV
  • pydantic-ai-harness, PyPI0.31.0OSV
  • pydantic-ai-harness, PyPI0.32.0OSV
  • pydantic-ai-harness, PyPI0.33.0OSV
  • pydantic-ai-harness, PyPI0.34.0OSV
  • pydantic-ai-harness, PyPI0.35.0OSV
  • pydantic-ai-harness, PyPI0.36.0OSV
  • pydantic-ai-harness, PyPI0.4.0OSV
  • pydantic-ai-harness, PyPI0.5.0OSV
  • pydantic-ai-harness, PyPI0.52.0OSV
  • pydantic-ai-harness, PyPI0.53.0OSV
  • pydantic-ai-harness, PyPI0.54.0OSV
  • pydantic-ai-harness, PyPI0.55.0OSV
  • pydantic-ai-harness, PyPI0.56.0OSV
  • pydantic-ai-harness, PyPI0.57.0OSV
  • pydantic-ai-harness, PyPI0.58.0OSV
  • pydantic-ai-harness, PyPI0.6.0OSV
  • pydantic-ai-harness, PyPI0.7.0OSV
  • pydantic-ai-harness, PyPI0.7.1OSV
  • pydantic-ai-harness, PyPI0.8.0OSV
  • pydantic-ai-harness, PyPI0.9.0OSV

References 9