1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Security Problem Discovered In Btrfs File-System

Linux Kernel

Published on 14 December 2012 04:07 PM EST
Written by Michael Larabel in Linux Kernel
27 Comments

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
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 and or contacted via .
Latest Linux News
  1. Benchmarks Of 54 Different Intel/AMD Linux Systems
  2. Linux 4.2 Bringing Support For ARCv2, HS38 CPU Cores
  3. Libdrm 2.4.62 Is An Important Update For Open-Source GPU Drivers
  4. The State of Unity 3D Game Engine, Editor On Linux
  5. ZFS On Linux 0.6.4.2 Brings Linux 4.1 Support, Fixes
  6. Old Net Burst Tests, Ubuntu Phone & Assembly x86 Were Popular Topics Last Month
  7. Qt 5.5 Officially Released
  8. Global Shortcuts In KDE Plasma Under Wayland
  9. LLVMpipe FP64 Support Knocks Off Some GL4 Extensions
  10. Dell Gets An Airplane Mode Switch Driver In Linux 4.2
Latest Articles & Reviews
  1. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  2. Attempting To Try Out BCache On The Linux 4.1 Kernel
  3. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
  4. AMD A10-7870K Godavari: RadeonSI Gallium3D vs. Catalyst Linux Drivers
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. NVIDIA Starts Supplying Open-Source Hardware Reference Headers
  3. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  4. The State & Complications Of Porting The Unity Editor To Linux
  5. The Staging Pull For Linux 4.2: "Big, Really Big"
  6. Latest Rumor Pegs Microsoft Wanting To Buy AMD
  7. SteamOS "Brewmaster" Is Valve's New Debian 8.1 Based Version
  8. Jonathan Riddell Steps Down From The Kubuntu Council