HIGH: Arbitrary host path mount via volume add — no path validation #20
Labels
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sneak/upaas#20
Loading…
Reference in New Issue
Block a user
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?
Bug
File:
internal/handlers/app.go,HandleVolumeAdd()Severity: HIGH — Security / Container escape
Description
The
HandleVolumeAddhandler accepts ahost_pathform value and stores it directly without any validation:This allows an authenticated user to mount any host path into a container, including:
/etc/shadow— credential theft/var/run/docker.sock— full Docker control (container escape)/— full host filesystem accessSuggested Fix
At minimum:
/data/upaas/volumes/)..components/var/run/docker.sock,/etc,/proc, etc.)this isn't a bug - this is by design. any admin of upaas is expected to have root on the system on which it's running.