🔴 [CRITICAL] CB-002: Arbitrary File System Read/Write #11
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#11
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.1
CWE
CWE-22 (Path Traversal), CWE-732 (Incorrect Permission Assignment)
Location
cobot/plugins/tools/plugin.py, _read_file(), _write_file()Description
The file tools use
Path.expanduser().resolve()but enforce no sandbox. The "protected paths" list only covers 8 specific agent source files. Any other file readable/writable by the process user is accessible.Exploitable Paths:
/etc/passwd,/etc/shadow(if readable),~/.ssh/id_rsa~/.cobot/cobot.yml(contains API keys if not using env vars)/proc/self/environ— exposes all environment variables including secretsRecommendation
~/.cobot/workspace/os.path.commonpath()or similar to verify resolved paths stay within bounds/proc,/sys, dotfiles, and sensitive directoriesFrom: Cobot Whitebox Security Audit (February 14, 2026)
Finding ID: CB-002