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 |
|---|---|---|---|---|
| MEDIUM | CVE-2026-49384 | PyCharm: stored XSS via Jupyter Markdown cells | 6.1 | |
| HIGH | CVE-2026-47397 | PraisonAI: arbitrary file write via hidden webpage metadata | PraisonAI | - |
| CRITICAL | CVE-2026-47391 | PraisonAI: Unauth RCE via A2A eval injection | PraisonAI | 9.8 |
| CRITICAL | CVE-2026-47392 | praisonaiagents: RCE via Python sandbox bypass | PraisonAI | 9.9 |
| CRITICAL | CVE-2026-47393 | PraisonAI: auth bypass in deployed API exposes LLM + tools | PraisonAI | 9.8 |
| CRITICAL | CVE-2026-47396 | PraisonAI: fail-open auth exposes remote agent control API | PraisonAI | 9.8 |
| HIGH | CVE-2026-47398 | PraisonAI: RCE via ungated exec_module in agent config | PraisonAI | 8.1 |
| MEDIUM | CVE-2026-47213 | BoxLite: sandbox timeout bypass enables DoS via SIGALRM | boxlite | 6.5 |
| HIGH | CVE-2026-38950 | AnomalyMatch: RCE via torch.load() unsafe deserialization | 7.8 | |
| CRITICAL | CVE-2026-9319 | IBM WebSphere: RCE via JAX-WS deserialization (CVSS 9.0) | 9.0 | |
| HIGH | CVE-2026-43624 | F5-TTS: path traversal enables arbitrary file write | 8.2 | |
| HIGH | CVE-2026-5422 | jupyter-server: path traversal exposes sibling dir files | jupyter | 8.1 |
| CRITICAL | CVE-2026-47117 | OpenMed: RCE via trust_remote_code model loading | openmed | 9.8 |
| HIGH | CVE-2026-4035 | MLflow: AI Gateway leaks cloud credentials via env injection | mlflow | 7.7 |
| CRITICAL | CVE-2026-5241 | transformers: trust_remote_code bypass enables RCE via model load | transformers | 9.6 |
| HIGH | CVE-2026-6657 | jupyter-server: CORS bypass enables arbitrary code execution | 8.8 | |
| CRITICAL | CVE-2026-44182 | Enterprise Gateway: YAML injection → K8s cluster takeover | jupyter_enterprise_gateway | - |
| CRITICAL | CVE-2026-44181 | Enterprise Gateway: SSTI allows full K8s cluster compromise | jupyter_enterprise_gateway | - |
| CRITICAL | CVE-2026-44180 | Jupyter Enterprise Gateway: root privilege bypass in Kubernetes | jupyter_enterprise_gateway | 9.8 |
| CRITICAL | CVE-2026-2586 | GlassFish: authenticated RCE via admin console | org.glassfish.jsftemplating:jsftemplating | 9.1 |