J-Security Center

Title: Linux Capabilities Vulnerability

Severity: MODERATE

Description:

POSIX "Capabilities" have recently been implemented in the Linux kernel. These "Capabilities" are an additional form of privilege control to enable more specific control over what priviliged processes can do. Capabilities are implemented as three (fairly large) bitfields, which each bit representing a specific action a privileged process can perform. By setting specific bits, the actions of priviliged processes can be controlled -- access can be granted for various functions only to the specific parts of a program that require them. It is a security measure. The problem is that capabilities are copied with fork() execs, meaning that if capabilities are modified by a parent process, they can be carried over. The way that this can be exploited is by setting all of the capabilities to zero (meaning, all of the bits are off) in each of the three bitfields and then executing a setuid program that attempts to drop priviliges before executing code that could be dangerous if run as root, such as what sendmail does. When sendmail attempts to drop priviliges using setuid(getuid()), it fails not having the capabilities required to do so in its bitfields. It continues executing with superuser priviliges, and can run a users .forward file as root leading to a complete compromise. Procmail can also be exploited in this manner.

Affected Products:

  • Cobalt RaQ 2.0.0
  • Cobalt RaQ 3.0.0
  • Linux kernel 2.2.12
  • Linux kernel 2.2.13
  • Linux kernel 2.2.15
  • Linux kernel 2.2.15 pre16
  • Linux kernel 2.2.15 pre20
  • Linux kernel 2.4.0 .0-test1
  • MandrakeSoft Corporate Server 1.0.1
  • MandrakeSoft Linux Mandrake 7.1.0
  • S.u.S.E. Linux 6.3.0
  • S.u.S.E. Linux 6.4.0
  • SGI ProPack 1.2.0
  • SGI ProPack 1.3.0

Juniper Networks provides this content via a wide variety of sources and production methods. If notified of errors or omissions in the content of this page, Juniper Networks, at its discretion, will modify or remove the page or leave the content as is, depending on various factors including but not limited to the reputation and authority of the party providing the notification. Please use the contact information displayed elsewhere on this page to report any errors or omissions regarding the content on this page.