Summary
CVE-2026-81096 is a critical unauthenticated remote code execution (RCE) vulnerability in ToolUniverse, an open-source Python framework (PyPI package tooluniverse) used to expose large numbers of AI/agent tools over HTTP and MCP (Model Context Protocol) servers. The flaw allows a remote, unauthenticated attacker to escape the sandbox protecting ToolUniverse’s built-in python_code_executor tool and execute arbitrary code as the server process. It is rated CRITICAL, with a CVSS v3.1 base score of 10.0 and a CVSS v4.0 score of 9.3.
Technical details
- Root cause: The
python_code_executortool (implemented inpython_executor_tool.py) enforces a denylist of dangerous attributes rather than an allowlist. The denylist fails to block dunder attributes reached via string-based attribute lookups or via modules that are otherwise permitted, letting an attacker "walk" from a literal object’s class to its base class and enumerate subclasses to reach thesubprocessmodule and other dangerous primitives. - Compounding issue — import allowlist bypass: A per-call argument allows the import allowlist used by the sandbox to be expanded before the security checks that should constrain it are executed, further weakening the sandbox.
- Compounding issue — missing authentication/network exposure: The bundled HTTP and MCP servers bind to all network interfaces (0.0.0.0) by default with debugging enabled and require no authentication, meaning the vulnerable code executor is reachable directly over the network without any credentials.
- Attack vector: Network-based, no authentication or user interaction required (AV:N/AC:L/PR:N/UI:N). An attacker sends a crafted request/tool invocation containing attribute-lookup chains that reach
subprocess(or similar) functionality through the exposed executor. - Impact: Full remote code execution as the ToolUniverse server process, resulting in complete loss of confidentiality, integrity, and availability on the host.
Affected software
- ToolUniverse (PyPI package
tooluniverse), all versions from initial release through 1.2.6 - Fixed in version 1.3.0
Severity
- CVSS v3.1 Base Score: 10.0 (Critical) — Vector:
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - CVSS v4.0 Score: 9.3 (Critical) — Vector:
AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H
Mitigation and recommended actions
- Immediate: Upgrade ToolUniverse to version 1.3.0 or later, which introduces bearer-token authentication for the HTTP/MCP servers, restricts the default bind address to loopback (localhost) instead of all interfaces, and hardens the attribute-validation logic used by the sandbox.
- If immediate patching is not possible:
- Do not expose ToolUniverse’s HTTP or MCP server ports to untrusted networks or the public internet; restrict access to
127.0.0.1/loopback or place them behind a properly authenticated reverse proxy/VPN. - Disable or remove the
python_code_executortool if it is not required for your deployment. - Disable debug mode on any exposed ToolUniverse server instances.
- Monitor for unexpected outbound process execution or
subprocessinvocations originating from ToolUniverse server processes as an indicator of exploitation attempts.
- Do not expose ToolUniverse’s HTTP or MCP server ports to untrusted networks or the public internet; restrict access to

