Home / vulnerabilities Linux Kernel Be File System Denial Of Service
Posted on 20 August 2011
Source : packetstormsecurity.org Link
PRE-CERT Security Advisory
==========================
* Advisory: PRE-SA-2011-06
* Released on: 19 August 2011
* Last updated on: 19 August 2011
* Affected product: Linux Kernel 2.4, 2.6, and 3.0
* Impact: denial-of-service
* Origin: Be file system
* Credit: Timo Warns (PRESENSE Technologies GmbH)
* CVE Identifier: CVE-2011-2928
Summary
-------
The Linux kernel contains a vulnerability in the driver for Be file systems
that may lead to a kernel oops via a corrupted Be file system.
In fs/befs/linuxvfs.c, befs_follow_link() reads a length attribute for a
long
symlink from a data stream of a Be file system.
befs_data_stream *data = &befs_ino->i_data.ds;
befs_off_t len = data->size;
The data->size / len value is not validated and can be 0 on a corrupted
file system.
befs_follow_link() allocates some memory based on len. Effectively, kmalloc
returns ZERO_SIZE_PTR in this case.
link = kmalloc(len, GFP_NOFS);
Subsequently, an assignment dereferences ZERO_SIZE_PTR causing a kernel
oops:
link[len - 1] = '