Python code execution sandbox escape in non-docker version in Auto-GPT
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-94.
Summary
Auto-GPT is an experimental open-source application showcasing the capabilities of the GPT-4 language model. When Auto-GPT is executed directly on the host system via the provided run.sh or run.bat files, custom Python code execution is sandboxed using a temporary dedicated docker container which should not have access to any files outside of the Auto-GPT workspace directory. Before v0.4.3, the `execute_python_code` command (introduced in v0.4.1) does not sanitize the `basename` arg before writing LLM-supplied code to a file with an LLM-supplied name. This allows for a path traversal attack that can overwrite any .py file outside the workspace directory by specifying a `basename` such as `../../../main.py`. This can further be abused to achieve arbitrary code execution on the host running Auto-GPT by e.g. overwriting autogpt/main.py which will be executed outside of the docker environment meant to sandbox custom python code execution the next time Auto-GPT is started. The issue has been patched in version 0.4.3. As a workaround, the risk introduced by this vulnerability can be remediated by running Auto-GPT in a virtual machine, or another environment in which damage to files or corruption of the program is not a critical problem.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Significant-Gravitas | Auto-GPT | before 0.4.3 | 0.4.3 | Patch available | CNA |
- Auto-GPT VendorSignificant-Gravitas Affected before 0.4.3 Fixed in 0.4.3 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:agpt:autogpt_classic:*:*:*:*:*:*:*:* | before 0.4.3 | Vulnerable | Significant-Gravitas |
- cpe:2.3:a:agpt:autogpt_classic:*:*:*:*:*:*:*:* Versions before 0.4.3 Vulnerable ·Significant-Gravitas
Remediation
- Fix · CNA Auto-GPT (Significant-Gravitas) Fixed in 0.4.3
Timeline
- 2026-10-02 Threatist record created from CVE-2023-37274
References
More Significant-Gravitas Autogpt Classic vulnerabilities
- TI-2024-05646 Shell Command Denylist Bypass in significant-gravitas/autogpt CVSS 3.1CRITICAL 9.8
- TI-2024-07563 Command Injection in significant-gravitas/autogpt CVSS 3.1CRITICAL 9.8
- TI-2024-01750 Improper Neutralization of Special Elements used in an OS Command in significant-gravitas/autogpt CVSS 3.1CRITICAL 9.8
- TI-2024-01748 CSRF to RCE in significant-gravitas/autogpt CVSS 3.1HIGH 8.8
- TI-2024-01749 OS Command Injection in MacOS Text-To-Speech Class in significant-gravitas/autogpt CVSS 3.1HIGH 7.8
- TI-2023-18903 Docker escape in Auto-GPT when running from docker-compose.yml included in git repo CVSS 3.1HIGH 8.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences