mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-07 03:18:23 -05:00
[GH-ISSUE #18224] 🔒 Security: Insufficient RCE warning for USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS #34066
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jacksonkasi1 on GitHub (Oct 10, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18224
Summary
The current documentation warns that enabling
USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESSallows "arbitrary code" upload, but doesn't explicitly communicate the critical Remote Code Execution (RCE) risk this creates on the server.Technical Analysis
Current Behavior
When
workspace.toolspermission is enabled for non-admin users:/admin/workspace/toolsexec()in:backend/open_webui/utils/plugin.pyline 101backend/open_webui/utils/plugin.pyline 145Code Reference
Configuration
Default:
False(SECURE) ✅ - But risk is underestimated when enabled.Proof of Concept
A malicious user with
workspace.toolspermission can create this tool:Impact:
Current vs. Recommended Documentation
Current Warning (Insufficient)
From https://docs.openwebui.com/features/workspace/permissions/:
Recommended Enhancement
Severity Assessment
Recommended Fixes
1. Documentation Enhancement (Immediate) ⭐
Update documentation to clearly communicate RCE risk and mitigation strategies.
2. UI Warning (High Priority)
Add a confirmation dialog when enabling this permission:
3. Audit Logging (Medium Priority)
Log all tool creation/modification events:
4. Sandboxing (Future Enhancement)
Consider implementing execution sandboxing:
Testing Steps
USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS=trueworkspace.toolspermission to a non-admin userReferences
backend/open_webui/utils/plugin.py(lines 101, 145)backend/open_webui/config.py(line 1214)Additional Context
This is not a code vulnerability - the
exec()functionality is intentional to support custom tool development. However, the documentation doesn't adequately communicate the critical security implications of enabling this feature.The goal of this issue is to help administrators make informed security decisions when configuring user permissions.
Environment:
@Classic298 commented on GitHub (Oct 10, 2025):
Documentation enhancement suggestions belong in the docs repository. Not here.
And this is not an "issue" merely an area of possible docs improvement.
PR welcome.