🔴 [CRITICAL] CB-001: Unrestricted Shell Execution via exec Tool #10
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Competitor
Kind/Documentation
Kind/Enhancement
Kind/Epic
Kind/Feature
Kind/Security
Kind/Story
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Scope/Core
Scope/Cross-Plugin
Scope/Plugin-System
Scope/Single-Plugin
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ultanio/cobot#10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
Security Finding from Audit
Severity
CRITICAL 🔴
CVSS Score
9.8
CWE
CWE-78 (OS Command Injection)
Location
cobot/plugins/tools/plugin.py, lines 200–230Description
The
_exec()method passes user-influenced commands directly tosubprocess.run()withshell=True. The blocklist is regex-based and trivially bypassable.Attack Vectors:
su\do,s""udo,/usr/bin/sudo,doas, base64-encoded commandsenv=os.environ.copy()exposes API keys, NOSTR_NSEC, etc.rm -rf /andsudo rm— trivially circumventedImpact: Complete system compromise. Attacker gains shell access with the agent's user privileges. Can exfiltrate secrets, install backdoors, pivot to other systems.
Recommendation
shell=Truewith explicit argument lists (shell=False)From: Cobot Whitebox Security Audit (February 14, 2026)
Finding ID: CB-001