lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Fri, 19 Aug 2011 17:50:31 +0200
From: Timo Warns <warns@...-sense.de>
To: bugtraq@...urityfocus.com, full-disclosure@...ts.grok.org.uk
Subject: [PRE-SA-2011-06] Linux kernel: ZERO_SIZE_PTR
 dereference for long symlinks in Be FS

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] = '\0';


Workaround
----------

Compile and use a kernel that does not support the Be file system. The
corresponding configuration key is CONFIG_BEFS_FS.


Solution
--------

A patch is available at
http://git.kernel.org/linus/338d0f0a6fbc82407864606f5b64b75aeb3c70f2


References
----------

When further information becomes available, this advisory will be
updated. The most recent version of this advisory is available at:

http://www.pre-cert.de/advisories/PRE-SA-2011-06.txt


Contact
--------

PRE-CERT can be reached under precert@...-secure.de. For PGP key
information, refer to http://www.pre-cert.de/.

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ