Code Execution
Remote code execution is unusually common in the AI/ML ecosystem because two long-standing patterns persist: pickle-based model loading and Jinja-style template rendering. Pickle is Python's default serialisation format and it executes arbitrary code on deserialisation; PyTorch models, scikit-learn pipelines, and many older HuggingFace artefacts are pickle files, so loading an untrusted model file is equivalent to running an untrusted script. HuggingFace addressed this with safetensors, but the older format is still widespread. The second pattern is template injection in LLM application frameworks that render Jinja-like syntax inside user-controlled prompts; LangChain, LlamaIndex, and several agent frameworks have shipped CVEs of this shape. Inference servers (vLLM, Triton, BentoML, Ray Serve) round out the RCE landscape with the usual web-app issues. Defenses: never load model files from untrusted sources, prefer safetensors, sandbox inference, and audit any code path that combines user input with template rendering.
| Severity | CVE | Headline | Package | CVSS |
|---|---|---|---|---|
| HIGH | CVE-2026-44340 | PraisonAI: tar symlink bypass allows arbitrary file write | PraisonAI | 7.5 |
| HIGH | CVE-2026-44339 | praisonaiagents: tool bypass enables undeclared callable exec | PraisonAI | 8.6 |
| CRITICAL | CVE-2026-44336 | PraisonAI: MCP path traversal escalates to full RCE | PraisonAI | 9.6 |
| MEDIUM | CVE-2026-44337 | PraisonAI: SQL/CQL injection in knowledge-store backends | PraisonAI | 6.3 |
| HIGH | CVE-2026-44338 | PraisonAI: unauthenticated API triggers agent workflows | PraisonAI | 7.3 |
| UNKNOWN | CVE-2026-31249 | CosyVoice: insecure deserialization RCE via .pt files | - | |
| UNKNOWN | CVE-2026-31250 | CosyVoice: RCE via unsafe torch.load() in model averaging | - | |
| UNKNOWN | CVE-2026-31251 | CosyVoice: RCE via unsafe torch.load() deserialization | - | |
| UNKNOWN | CVE-2026-31252 | CosyVoice: RCE via unsafe torch.load() deserialization | - | |
| HIGH | CVE-2026-31253 | flash-attention: RCE via unsafe checkpoint deserialization | flash_attn | 7.3 |
| CRITICAL | CVE-2026-43995 | Flowise: SSRF in agent tools bypasses security wrapper | flowise | 9.8 |
| CRITICAL | CVE-2026-31214 | torch-checkpoint: unsafe pickle deserialization RCE | 9.8 | |
| HIGH | CVE-2026-31221 | pytorch-lightning: RCE via insecure checkpoint deserialization | pytorch-lightning | 7.8 |
| UNKNOWN | CVE-2026-31218 | optimate: unsafe torch.load() enables RCE via model file | - | |
| UNKNOWN | CVE-2026-31219 | optimate: RCE via unsafe torch.load() deserialization | - | |
| HIGH | CVE-2026-31222 | snorkel: RCE via insecure model checkpoint loading | snorkel | 8.8 |
| HIGH | CVE-2026-31224 | snorkel: RCE via unsafe model deserialization | snorkel | 8.8 |
| CRITICAL | CVE-2026-42074 | openclaude: sandbox bypass allows host-level RCE | openclaude | - |
| CRITICAL | CVE-2026-31238 | Ludwig: RCE via unsafe pickle deserialization in model serve | ludwig | 9.8 |
| CRITICAL | CVE-2026-31239 | mamba: RCE via unsafe torch.load() on model load | mamba-ssm | 9.8 |