Vulnerability Description
ToolUniverse ran caller-supplied Python inside a sandbox that could be escaped, on a server that required no authentication. The executor behind the python_code_executor tool, in python_executor_tool.py, inspected the submitted source for a denied list of attribute names and calls but left the attribute-lookup builtins available and did not stop a dunder attribute reached through a string lookup or through a module already permitted, so a caller could walk from a literal's class to its base and enumerate subclasses to obtain a reference to the process and subprocess modules. A per-call argument also let the caller widen the import allow-list before the inspection ran. The HTTP and MCP servers in http_api_server.py and smcp_server.py bound to every interface with debugging enabled and no authentication, so any caller able to reach the port executed code as the server process. Version 1.3.0 adds bearer-token authentication, defaults the bind address to loopback, and hardens the attribute checks.
CVSS Score
CRITICAL
Related Weaknesses (CWE)
References
- https://github.com/mims-harvard/ToolUniverse
- https://github.com/mims-harvard/ToolUniverse/pull/251
- https://github.com/mims-harvard/ToolUniverse/security/advisories/GHSA-pxwq-22vf-
- https://www.vulncheck.com/advisories/tooluniverse-through-1.2.6-unauthenticated-
FAQ
What is CVE-2026-81096?
CVE-2026-81096 is a vulnerability with a CVSS score of 10.0 (CRITICAL). ToolUniverse ran caller-supplied Python inside a sandbox that could be escaped, on a server that required no authentication. The executor behind the python_code_executor tool, in python_executor_tool....
How severe is CVE-2026-81096?
CVE-2026-81096 has been rated CRITICAL with a CVSS base score of 10.0/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2026-81096?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.