CVE-2026-58168: DeepTutor missing MCP tool authorization allows non-admin users to invoke unrestricted tools
DeepTutor before 1.4.10 fails open on MCP tool access. If a non-admin user's grant omits `mcp_tools`, `allowed_mcp_tools` returns None, which the code treats as unrestricted. That user, or prompt-injected content in their session, can list and call every configured MCP tool, including filesystem, shell and browser servers. Upgrade to 1.4.10.
Published Jun 30, 2026 · Updated Oct 2, 2026 · Analysis Oct 25, 2026
What an attacker can do
DeepTutor's multi-user mode keeps per-user grants in deeptutor/multi_user/tool_access.py. The function allowed_mcp_tools should return the set of MCP tools a user may use. When a grant has no mcp_tools key, it returns None instead of a denied result, and callers read None as no restriction.
Any authenticated low-privilege account whose grant leaves out mcp_tools therefore gets the full list of MCP servers the deployment has configured. The advisory names filesystem, shell and browser servers. The attacker needs a valid account and nothing else. The agent chat itself is a second route: prompt-injected content that the model reads during a session acts with the same user's reach, so a crafted document or web page can make the agent call those tools.
The practical result is file access, command execution and browsing from the host that runs DeepTutor, with the host's privileges. The CVSS 3.1 vector is network, low privilege, no user interaction, with high impact on all three properties.
Who is affected
The deeptutor pip package before 1.4.10, in deployments that use multi-user mode, have at least one MCP server configured, and have non-admin users whose grants lack mcp_tools. Single-user setups with no non-admin accounts are not in that situation.
pip show deeptutordeeptutor
- Ecosystem
- PyPI
- Affected
- < 1.4.10
- Fixed in
- 1.4.10
- Check
pip show deeptutor
How to fix it
Upgrade to deeptutor 1.4.10.
pip install --upgrade deeptutor==1.4.10Pull request 579 changes allowed_mcp_tools() so a real non-admin user with no mcp_tools grant gets an empty set. Admins stay unrestricted. After upgrading, non-admin users lose MCP access until you give them an explicit mcp_tools grant naming the tools they need. The sources give no workaround before the upgrade. Until then, remove shell and filesystem MCP servers from the configuration if non-admin users have access.
How to tell if you were hit
Review every non-admin user grant for a missing mcp_tools entry. Those accounts are the exposed ones. Then check the logs of your MCP servers, especially shell, filesystem and browser servers, for calls made on behalf of users who should not have had them. The sources document no DeepTutor log line for this flaw.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
DeepTutor before version 1.4.10 contains an authorization bypass vulnerability that allows low-privilege users to invoke unrestricted MCP tools due to the allowed_mcp_tools function returning None instead of a denied result when mcp_tools is omitted from a user's grant in deeptutor/multi_user/tool_access.py. Attackers or prompt-injected content acting within a user session can enumerate and invoke any configured MCP tool, including filesystem, shell, and browser servers, gaining unauthorized access to sensitive deployment resources.
Questions
- Does the attacker need to be an admin?
No. A non-admin account is enough. The grant only has to omit
mcp_tools, which the advisory describes as an insecure default.- Can prompt injection trigger this without a malicious user?
Yes. The advisory says prompt-injected content acting within a user session can enumerate and invoke the unrestricted MCP tools, so an honest user's session can be used.
- Will MCP tools stop working for my users after 1.4.10?
For non-admin users without an explicit
mcp_toolsgrant, yes. The fix denies by default, so you must grant the specific tools each user needs. Admins keep full access.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More Other MCP servers and tools vulnerabilities
All Other MCP servers and tools entriesCVE-2026-77361
obsidian-tc : Symlink read-ACL scope bypass via lexical path checks
medium4.7Oct 23, 2026CVE-2026-114126
Storybook dev server vulnerable to code injection from the local network
high8.7Oct 22, 2026CVE-2026-113731
djust: Arbitrary absolute-path file read in the find_handlers_for_template MCP tool
low3.3Oct 21, 2026CVE-2026-114125
Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites
critical9.4Oct 21, 2026CVE-2026-111770
MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another
high7.7Oct 20, 2026GHSA-953h-535j-jg2v
agent-router: MCP session resume does not verify the embedded anti-hijacking subject; default Helm seed makes session IDs forgeable
medium6.8Oct 19, 2026
