Security Problem Discovered In Btrfs File-System
Written by Michael Larabel in Linux Kernel on 14 December 2012 at 04:07 PM EST. 27 Comments
Linux Kernel
A hash-based denial-of-service attack vulnerability has been discovered for the Btrfs, the next-generation Linux file-system.

It was just recently that SUSE Enterprise considered Btrfs to be "production ready" and while there aren't any tier-one distributions yet relying upon Btrfs as the default Linux file-system, two easy yet nasty DOS attack points have been uncovered. A developer, Pascal Junod, discovered that it's remarkably easy to carry out a local denial-of-service attack against the file-system based upon hash collisions.

For this Hash-DOS attack, the user must already have local access to the system, but from there it's quite easy to execute as shown in Pascal's blog post. "I’d like to show how hash-DoS can be applied to the btrfs file-system with some astonishing and unexpected success."

The two different Btrfs attacks amount to:
I computed the time to create 4000 empty files in the same directory whose names were randomly chosen. This takes about 0.2 seconds. The box used is a Fedora distribution within a VM (and btrfs was a loopback-ed device). Then, I computed the time to create those 4000 empty files in the same directory, whose names were however chosen in order to hash to the same CRC32C value. This operation fails after 5 (!) seconds and creating only 61 files. In other words, this first attack allows an adversary, in a shared directory scenario, to avoid that a victim creates a file with a known-in-advance name.
Secondly:
I have created several files with random names in a directory (around 500). The time required to remove them is negligible. Then, I have created the same number of files, but giving them only 55 different crc32c values. The time required to remove them is so large that I was not able to figure it out and killed the process after 220 minutes (!).
In his blog he published some sample Python code along with other technical details. Chris Mason, the maintainer of Btrfs, hopes to have the vulnerabilities addressed for the Linux 3.8 kernel.
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Related Linux Kernel News
Popular News
Trending Reviews & Featured Articles