Manipulate Your Way to the Root of It

One of the nice things about Linux — but by no means the most important — is the enhanced security that comes along with running it. That doesn't mean Linux never runs into security issues, though, and this week, the vulnerability in question centers around a nifty little service called udev.

According to advisories from several distributions, including Fedora, Ubuntu, and SUSE, a bug has been discovered that allows a local or remote user to exploit the udev service in order to gain root access to the system. Specially crafted Netlink messages, if sent to udev, can allow the sender to create a block device file that is globally-writable for an existing block device — that includes the root file system. The attacker can then create or manipulate files in order to gain root access to the system.

udev is a service, not a part of the kernel itself, used by most 2.6 series kernels to dynamically create files and folders — the /dev directory — for input and output from specific devices.

According to the SUSE Security Team's Sebastian Krahmer, who discovered the original bug, a further udev issue has been discovered, involving a function for decoding the path which is vulnerable to an integer overflow, and according to reports, to a heap overflow as well. At this time, it has only been confirmed that this second bug can cause udev to crash, though Fedora's security team has not ruled out the possibility that it may be exploited to obtain root access.

Fixes are in the works for the affected distributions, with some having already pushed updated packages to users while others are in the process. More information is available through security advisories from the relevant distributions, including Ubuntu Security Notice USN-758-1 and FEDORA-2009-3711.

______________________

Justin Ryan is a Contributing Editor for Linux Journal.