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.org

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.

Latest Linux Hardware Reviews
  1. 13-Way Low-End GPU Comparison With AMD's AM1 Athlon
  2. ASUS AM1I-A: A Mini-ITX Board For Socketed Kabini APUs
  3. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  4. Overclocking The AMD AM1 Athlon & Sempron APUs
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. Wine 1.7.17 Works On Its Task Scheduler, C Run-Time
  2. The Improv ARM Board Still Isn't Shipping; Riding A Dead Horse?
  3. Debian To Maintain 6.0 Squeeze As An LTS Release
  4. Wasteland 2 Is Finally Released For Linux Gamers
  5. FreeBSD Advances For ARM, Bhyve, Clang
  6. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  7. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  8. QEMU 2.0 Released With ARM, x86 Enhancements
  9. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  10. R600 Gallium3D Disables LLVM Back-End By Default
  11. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  12. Fedora Workstation Is Making Me Quite Excited
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Radeon 8000M problematic on Linux?
  4. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  5. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  6. Suspected PHP Proxy Issue
  7. Change installation destination from home directory
  8. Bye bye BSD, Hello Linux: A Sys Admin's Story