CVE-2023-37274: Python code execution sandbox escape in non-docker version in Auto-GPT
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 executepythoncode 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Auto-GPTto a version that resolves this vulnerability.Fixed in 0.4.3 - Compensating control
Run Auto-GPT inside a virtual machine or another environment where damage to files or corruption of the program is not critical (workaround mentioned for this vulnerability).
Event History
Frequently Asked Questions
What is the severity of CVE-2023-37274?
CVE-2023-37274 has been assigned a medium severity level due to its potential for unauthorized code execution.
How do I fix CVE-2023-37274?
To mitigate CVE-2023-37274, update Auto-GPT to version 0.4.4 or later where the vulnerability has been addressed.
What systems are affected by CVE-2023-37274?
CVE-2023-37274 affects all versions of Auto-GPT up to 0.4.3.
What is the potential impact of CVE-2023-37274?
The potential impact of CVE-2023-37274 includes unauthorized execution of arbitrary Python code within the application.
How was CVE-2023-37274 discovered?
CVE-2023-37274 was identified during security assessments of the Auto-GPT application while reviewing its sandboxing mechanisms.