🟡 [MEDIUM] CB-010: Trivially Bypassable Exec Blocklist #19
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#19
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
MEDIUM 🟡
CVSS Score
N/A
CWE
CWE-184 (Incomplete List of Disallowed Inputs)
Location
tools/plugin.py, _is_exec_allowed()Description
The regex-based blocklist is fundamentally flawed as a security control.
Example bypasses for a blocklist entry "sudo":
su\do/usr/bin/sudodoaspkexececho c3VkbwA= | base64 -d | shpython3 -c "import os; os.system('sudo ...')"Recommendation
Replace with strict allowlist. Only permit explicitly approved command patterns.
From: Cobot Whitebox Security Audit (February 14, 2026)
Finding ID: CB-010