HIGH: USB device passthrough grants all session containers host USB access #24
Labels
No labels
blocked:gate-plan
blocked:gate-research
blocked:lint-failed
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:verify-failed
bug
chore
feature-request
in-progress
needs-research
ops-task
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/devforge#24
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?
Issue
Every session container is created with full read-write access to all host USB devices. This is a significant container escape vector — if a session container is compromised, the attacker can interact with any USB device on the host.
Location
services/api/app/docker_manager.py:219Current Implementation
The
rwmmode gives read, write, AND mknod (device creation) access to all USB devices.Risk
Proposed Fix
ro) instead ofrwmif write access isn't strictly requiredPriority: High
Type: Security
This is a security/design issue that needs human review before action.
Ops Pipeline — No Executable Procedure
Research did not produce any executable commands.
Now I have the full picture. Let me read the exact context of the change needed.
The code at
/home/b/Projects/devforge/services/api/app/docker_manager.pyline 222-224 conditionally attaches ALL host USB devices with:rwm(read, write, mknod) for three profiles:oh-my-opencode,oh-my-opencode-lite, andcustom. Thestandardandbase-config-editorprofiles are already clean.HOST: localhost
STATUS: EXECUTABLE
EVIDENCE: The USB passthrough is at line 222-224 of
docker_manager.py. IGSD PLAN: response missing GATE: line.