CVE-2026-76832: Agno PythonTools Path Traversal via joinpath file_name argument

Published Aug 19, 2026
·
Updated

Agno's PythonTools in libs/agno/agno/tools/python.py contains a path traversal vulnerability that allows attackers to read, write, or execute arbitrary files by supplying parent-directory traversal sequences in the filename argument passed to readfile, savetofile, or runpythonfile tool actions. Attackers can inject traversal sequences such as '../../../../../../etc/passwd' through direct tool invocation or via prompt injection embedded in agent-processed content to escape the intended basedir boundary and achieve arbitrary file read, arbitrary file write, or arbitrary Python code execution within the process user's authority.

Affected Software

1 affected component
PythonTools

Event History

Aug 19, 2026
CVE Published
via MITRE·09:58 PM
Data Sourced
via MITRE·09:58 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Deployments using Agno PythonTools are exposed when an attacker can influence the file_name argument for the read_file, save_to_file, or run_python_file actions. This can occur through direct tool invocation or prompt injection in content processed by an agent.

2

What access does an attacker need to exploit it?

The attacker does not need prior privileges, but user interaction is required according to the supplied severity vector. They need a way to cause a PythonTools action to receive a file_name containing parent-directory traversal sequences.

3

What can an attacker access after successful exploitation?

The attacker can escape the intended base_dir and read or write files accessible to the process user. The run_python_file action can also enable execution of arbitrary Python code with that process user's authority.

4

How can I identify potentially affected usage?

Review uses of libs/agno/agno/tools/python.py and determine whether PythonTools exposes read_file, save_to_file, or run_python_file to untrusted requests or agent-processed content. Inputs containing sequences such as ../../ that are passed as file_name indicate attempted traversal.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203