btrfs tree balance can be triggered by non-root user
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Fix Released
|
Undecided
|
|||
btrfs-tools (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
linux-2.6 (Debian) |
Fix Released
|
Unknown
|
Bug Description
Balance tree action of btrfs command should be limited to only root user, because it may cause data corrupt and usually result in an uninterruptible process which is causing a heavy I/O load (the process may keep runing for a long time because the action is not a easy deal).
Run the following command as a non-root user will also start the balance tree action ( / is btrfs here, with ext4 /boot):
$ btrfs filesystem balance /
I think this problem will cause serious issues if somebody uses it in a production system (though it is really not recommended).
What's more, I'm not sure whether this should be a bug in the Linux kernel/btrfs-tools, because such action is actually performed by using system calls. If I try to make a snapshot in a directory by a user who does not have the access, it will generate an error like this:
$ pwd
/home
$ whoami
aron
$ btrfs subvolume snapshot . backhome
Create a snapshot of '.' in './backhome'
ERROR: cannot snapshot '.
I think at least a workaround is needed to be settled in btrfs-tools (geteuid test) before the kernel side has this problem fixed.
description: | updated |
summary: |
- balance tree action should be only triggered by root + btrfs tree balance can be triggered by non-root user |
Changed in btrfs-tools (Ubuntu): | |
status: | New → Invalid |
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Low |
security vulnerability: | no → yes |
Changed in linux-2.6 (Debian): | |
status: | Unknown → Fix Released |
tags: | added: lucid maverick natty |
This looks like a local DoS. Have you reported this to the upstream btrfs mailing list?