Skip to content

Hide Navigation Hide TOC

CrewAI CodeInterpreterTool Sandbox Escape and Prompt-to-Shell RCE (CVE-2026-2275 / VU#221883) - ATR-2026-00539 (4703f767-b3b9-5a2c-b558-78bdc084377f)

Detects the CrewAI CodeInterpreterTool exploit cluster disclosed 2026-03-30 as CERT/CC VU#221883 (four CVEs). Two distinct attack surfaces are covered: SURFACE A — CVE-2026-2275 / CVE-2026-2287: Python sandbox escape when Docker is unavailable. SandboxPython blocks direct import os but does not block object-introspection primitives. Confirmed PoC from GitHub issue #4516: for c in ().__class__.__bases__[0].__subclasses__(): if c.__name__ == 'BuiltinImporter': c.load_module('os').system('id') This walks the Python MRO to reach BuiltinImporter and load 'os' without an import statement. Vendor fix: add ctypes/subclasses/BuiltinImporter to BLOCKED_MODULES. CVE-2026-2287 adds a runtime Docker-check gap where the sandbox silently downgrades to unsafe mode mid-session. SURFACE B — CVE-2026-2275 unsafe_mode: pip install command injection via libraries_used. Confirmed PoC: libraries_used=["numpy; id #"] passes numpy; id to os.system(f"pip install {library}") without quoting, executing id as a shell command. CVE-2026-2285 (local file read via JSON loader) and CVE-2026-2286 (SSRF via RAG URL validation bypass) are in the same advisory but have separate detection surfaces; this rule focuses on the RCE primitives. Detection covers: (a) subclasses() / BuiltinImporter / MRO-walk Python sandbox escapes; (b) pip install command injection patterns in libraries_used or equivalent package-list fields; (c) ctypes.CDLL / ctypes.cdll sandbox escape primitives; (d) Content explicitly framing exploitation of the CrewAI CodeInterpreter.

Cluster A Galaxy A Cluster B Galaxy B Level
Subvert Trust Controls - T1553 (b83e166d-13d7-4b52-8677-dff90c548fd7) Attack Pattern CrewAI CodeInterpreterTool Sandbox Escape and Prompt-to-Shell RCE (CVE-2026-2275 / VU#221883) - ATR-2026-00539 (4703f767-b3b9-5a2c-b558-78bdc084377f) Agent Threat Rules 1
CrewAI CodeInterpreterTool Sandbox Escape and Prompt-to-Shell RCE (CVE-2026-2275 / VU#221883) - ATR-2026-00539 (4703f767-b3b9-5a2c-b558-78bdc084377f) Agent Threat Rules Craft Adversarial Data (a7c30122-b393-4265-91b7-57cd1211e3f9) MITRE ATLAS Attack Pattern 1
CrewAI CodeInterpreterTool Sandbox Escape and Prompt-to-Shell RCE (CVE-2026-2275 / VU#221883) - ATR-2026-00539 (4703f767-b3b9-5a2c-b558-78bdc084377f) Agent Threat Rules Escape to Host - T1611 (4a5b7ade-8bb5-4853-84ed-23f262002665) Attack Pattern 1
CrewAI CodeInterpreterTool Sandbox Escape and Prompt-to-Shell RCE (CVE-2026-2275 / VU#221883) - ATR-2026-00539 (4703f767-b3b9-5a2c-b558-78bdc084377f) Agent Threat Rules Command and Scripting Interpreter (716d3a6b-2f8c-4a1f-85f7-d884bb7b2800) MITRE ATLAS Attack Pattern 1
CrewAI CodeInterpreterTool Sandbox Escape and Prompt-to-Shell RCE (CVE-2026-2275 / VU#221883) - ATR-2026-00539 (4703f767-b3b9-5a2c-b558-78bdc084377f) Agent Threat Rules Python - T1059.006 (cc3502b5-30cc-4473-ad48-42d51a6ef6d1) Attack Pattern 1
Command and Scripting Interpreter - T1059 (7385dfaf-6886-4229-9ecd-6fd678040830) Attack Pattern Python - T1059.006 (cc3502b5-30cc-4473-ad48-42d51a6ef6d1) Attack Pattern 2