Database/AI/ML frameworks & serving
PraisonAI: file-tool path argument injects shell commands into the compute provider
Impact
When a compute provider is attached, PraisonAI's compute bridge turns read_file, list_files and write_file into shell command strings built from the raw path argument. Anything that can influence a path - a prompt, a retrieved document, a tool result - can break out of the quotes and run arbitrary commands wherever that provider executes. With compute="local" the commands run as the agent process on the host, which on a GPU node means the account that holds the device files and the model and dataset mounts. With the Docker provider they run inside the container, limiting but not eliminating the damage. Affected from 4.6.10 up to 4.6.59.
Who can reach it
Anyone who can get text into a file-tool path argument of a running agent: an authenticated user of the agent, or any content the agent ingests. The CVSS vector assumes a low-privileged authenticated actor over the network and no user interaction.
What to do
Upgrade PraisonAI to 4.6.59 and restart the agent workers - a service restart, no node drain. Until then, avoid compute="local" so commands at least land in a container rather than on the host, and keep the agent's service account away from GPU device files, model stores and cluster credentials. Agents that already processed untrusted input should be treated as potentially compromised; rotate any credentials reachable from the compute environment.
References
Related entries
- Ray (WebDataset reader): Unsafe deserializationCVE-2026-57516 · Ray (WebDataset reader)High
- Weaviate: RBAC role assignment does not verify the assigner holds the granted permissionsCVE-2026-59093 · WeaviateHigh
- LiteLLM Proxy: forged Authorization header reaches MCP tooling without a valid API keyCVE-2026-59822 · LiteLLM Proxy (MCP Streamable HTTP endpoint authentication)High
- NVIDIA OpenShell: a malicious gateway can inject OS commands into the connecting clientCVE-2026-65091 · NVIDIA OpenShell (gateway response handling)High
- NVIDIA NeMo: TabularTokenizer unpickles an attacker-supplied .pkl file, giving code executionCVE-2026-65179 · NVIDIA NeMo (TabularTokenizer pickle.load of an untrusted .pkl)High
- InstructLab: model loading hardcodes trust_remote_code=True, executing code from HuggingFace modelsCVE-2026-6859 · InstructLab linux_train.py (hardcoded trust_remote_code=True)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.