Home    |    View Topics    |    Search    |    Contact Us    |   



Category:   OS (Linux)  >   Linux Kernel Vendors:
Linux Kernel cpuset_tasks_read() Memory Disclosure Lets Local Users View Portions of Kernel Memory
SecurityTracker Alert ID:  1018211
SecurityTracker URL:
CVE Reference:   CVE-2007-2875   (Links to External Site)
Date:  Jun 8 2007
Impact:   Disclosure of system information
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): 2.6 prior to and
Description:   A vulnerability was reported in Linux Kernel. A local user can view portions of kernel memory.

A local user can exploit the cpuset_tasks_read() function to trigger an integer underflow, allowing the user to view potentially sensitive information from kernel memory.

Only systems with the cpuset file system mounted are affected [not the default configuration].

The vendor was notified on April 27, 2007.

iDefense reported this vulnerability.

Impact:   A local user can view portions of kernel memory.
Solution:   The vendor has issued fixed versions ( and

The advisories area available at:

Vendor URL: (Links to External Site)
Cause:   Access control error

Message History:   This archive entry has one or more follow-up message(s) listed below.
Sep 13 2007 (Red Hat Issues Fix) Linux Kernel cpuset_tasks_read() Memory Disclosure Lets Local Users View Portions of Kernel Memory
Red Hat has released a fix for Red Hat Enterprise Linux 5.

 Source Message Contents

Subject:  iDefense Security Advisory 06.07.07: Linux Kernel cpuset tasks

Linux Kernel cpuset tasks Information Disclosure Vulnerability

iDefense Security Advisory 06.07.07
Jun 07, 2007


Linux is a clone of the UNIX operating system, written from scratch by
Linus Torvalds with assistance from a loosely-knit team of hackers
across the Internet. The cpuset functionality allows process to be
assigned to processors on multi-processor machines.


Local exploitation of an information disclosure vulnerability within the
Linux Kernel allows attackers to obtain sensitive information from
kernel memory.

This vulnerability specifically exists in the "cpuset_tasks_read"
function. This function is responsible for supplying user-land
processes with data when they read from the /dev/cpuset/tasks file. The
code excerpt below shows the problem area.

  1754          if (*ppos + nbytes > ctr->bufsz)
  1755                  nbytes = ctr->bufsz - *ppos;
  1756          if (copy_to_user(buf, ctr->buf + *ppos, nbytes))

By reading from an offset (*ppos) larger than the contents of the file,
an attacker can cause an integer underflow to occur in the subtraction
on line 1755. This will result in the "copy_to_user" function on line
1756 to be called with a memory address located at a lower address than
the start of the intended buffer. This memory could potentially contain
sensitive information such as security tokens or passwords.


Exploitation of this vulnerability allows attackers to obtain sensitive
information from kernel memory.

In order to exploit this vulnerability, an attacker would need access to
open the /dev/cpuset/tasks file. It is important to note that this file
does not exist unless the cpuset file system has been mounted.
Additionally, this functionality is not included by default in a
vanilla kernel build.

Furthermore, because of checks at the VFS layer and in the
'copy_to_user()' function, an attacker cannot use arbitrary values.
However, on 32-bit systems it is easily exploitable.


iDefense has confirmed the existence of this vulnerability in version
2.6.20 of the Linux Kernel as installed with Fedora CORE 6. It is
suspected that previous versions, at least until 2.6.12, are also


In order to prevent exploitation of this vulnerability, discontinue use
of the cpuset file system. This can be accomplished by un-mounting the
file system using the "umount" command.


The Linux kernel team has released versions and to
address this vulnerability. More information can be found via the
following URLs.


The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-2875 to this issue. This is a candidate for inclusion in
the CVE list (, which standardizes names for
security problems.


04/27/2007  Initial vendor notification
06/04/2007  Second vendor notification
06/04/2007  Initial vendor response
06/07/2007  Coordinated public disclosure


The discoverer of this vulnerability wishes to remain anonymous.

Get paid for vulnerability research

Free tools, research and upcoming events


Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail for permission.

Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
 There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.
To unsubscribe, go here:


Go to the Top of This SecurityTracker Archive Page

Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2022, LLC