<<< Date Index >>>     <<< Thread Index >>>

Information leak in the Linux kernel ext2 implementation



Description: Information leak in the Linux kernel ext2 implementation
References:  CAN-2005-0400
Authors:     Mathieu Lafon <mlafon@xxxxxxxxxx>
             Romain Francoise <rfrancoise@xxxxxxxxxx>


   Arkoon Security Team Advisory - March 25, 2005
   http://arkoon.net/advisories/ext2-make-empty-leak.txt
   Revision: 1.0

1. Description

   The function ext2_make_empty() used  in the Linux implementation of
   the  ext2 filesystem is  vulnerable to  an information  leak.  Upon
   directory creation, a  new block is obtained from  kernel memory to
   store the initial directory entries  ('.' and '..').  This block is
   used and  written to disk uninitialized, leading  to an information
   leak in the block's slack space.

   Depending on block size, up to 4072 (4096 - 2 * 12) bytes of kernel
   memory  can be leaked  on each  directory creation.   This quantity
   then decreases  when additional entries are added  to the directory
   block.

   Note:  since  the  ext2  implementation uses  the  dir-in-pagecache
   design, any part of kernel  memory is susceptible to be leaked, not
   only old disk/filesystem data.

2. Impact

   Leaked kernel  memory can be  found in ext2 filesystems;  either on
   hard  drives,  removable media  (USB  thumb  drives, flash  cards),
   initrd images, UML filesystem images, etc...

   A quick  scan reveals that most  ext2 images found  on the Internet
   contain information  that was not meant to  be distributed (ranging
   from xterm scrollback data to email tidbits).

3. Affected versions

   Linux 2.4.x series: all versions up to 2.4.29 (fixed in 2.4.30-rc2)
   Linux 2.6.x series: all versions up to 2.6.11.5 (fixed in 2.6.11.6)

4. Vendor response

   This  vulnerability was  acknowledged by  the Kernel  Security Team
   (security@xxxxxxxxxx) and fixed in versions 2.4.30-rc2 and 2.6.11.6.

   The Common Vulnerabilities and Exposures (CVE) project has assigned
   the name CAN-2005-0400 to this issue.

5. Timeline

   03/15/2005 - Vulnerability discovered
   03/16/2005 - Vulnerability details sent to security@xxxxxxxxxx
   03/16/2005 - Vulnerability confirmed by kernel maintainers
   03/25/2005 - Linux 2.6.11.6 released with fix
   03/25/2005 - Linux 2.4.30-rc2 released with fix
   04/01/2005 - Public disclosure

6. Credits

   This vulnerability  was discovered by Romain  Francoise and Mathieu
   Lafon of the Arkoon Security Team (http://www.arkoon.com/).

   Thanks to Andrew Morton,  Marcelo Tosatti, Linus Torvalds, Alan Cox
   and Chris Wright for their quick response.

7. About us

   Arkoon   Network  Security's   Security   Team  provides   security
   intelligence to Arkoon's departments,  partners and clients, and to
   the security community at large.

   For further information, see http://www.arkoon.com/.

8. Legal notices

   Copyright (C) 2005 Arkoon Network Security

   Disclaimer: this document and  all information therein are provided
   "as is" without warranty of any kind, whether express or implied.

   Arkoon  Network  Security does  not  warrant  or  assume any  legal
   liability  or responsibility  for the  accuracy or  completeness of
   this information, nor for the  possible damage caused by the use of
   it.