CVE-2026-44717: Python Mcp Tool Eval Code Injection

An MCP tool handler passes a user-controlled string parameter to Python's eval()/exec(). Because eval/exec is invoked without an AST allowlist and with __builtins__ reachable, an attacker (directly or via prompt injection of the LLM client) can submit a payload such as `__import__('os').system(...)` to achieve remote code execution (CWE-94, CWE-1427). Replac

Provally CuratedPublic repositoryHighHigh confidenceVerifiedApache-2.0Python
greprules fetch cve-2026-44717-python-mcp-tool-eval-code-injection --engine opengrep

Description

An MCP tool handler passes a user-controlled string parameter to Python's eval()/exec(). Because eval/exec is invoked without an AST allowlist and with __builtins__ reachable, an attacker (directly or via prompt injection of the LLM client) can submit a payload such as `__import__('os').system(...)` to achieve remote code execution (CWE-94, CWE-1427). Replac