-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 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@pre-secure.de. For PGP key information, refer to http://www.pre-cert.de/. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) iQEcBAEBCAAGBQJOToOrAAoJEJreX/O/+ER1c9kH/397tky/wI8i2A+h+s+XLn8e 9O2UCnOFk7DDnFYL5SiCsDiAJepnaflw+MKTRRc4iGQVo021HQCY7GUv0ID21skb raNuTUg9hWJvQg9kQzCqIFNbgihZ/85gws5v18sG2CPXjU76M4yhZCGXH7BzGFmT xhyqsogzWeJubRCTFfU9Ve65HqLle1Cy7aMQ6H6s+95Dp6yCgGU+VbPb42JTOjB6 Tjs0e3DILX2ioPJjv9herPlc4atduw8kymcE1Ult958sgP94u1leGzqNR92THbA2 W+F3/0NvaijA9T7J1TirLi/KzBemOKVnsRWD9NgWgY1CjRb+HEXXFOl9NVrLHBQ= =7/d3 -----END PGP SIGNATURE-----