Root Exploit Vulnerability in Kernel 2.6.30

Jul 20, 2009

A recently discovered root exploit attacked the newest Linux versions and circumvented protection systems such as SELinux and AppArmor. A solution has been found.

An entry in the Internet Storm Center's Handler's Diary by Bojan Zdrnja entitled "A new fascinating Linux kernel vulnerability" describes the root exploit. The exploit code had been exposed by Brad Spengler, himself a developer for the grsecurity open source security application, in a "full-disclosure" on Zdrnja explains, "Why is it so fascinating? Because a source code audit of the vulnerable code would never find this vulnerability (well, actually, it is possible but I assure you that almost everyone would miss it). Spengler assures that only Kernel 2.6.30 and later are affected, with the exploit code running on 32-bit and 64-bit versions.

The security hole results from a vulnerability in the net/tun implementation. Even though the code correctly checks for a certain NULL variable, the compiler removes the if statement, thereby allowing access to otherwise inaccesible parts of memory. Zdrnja describes the "relatively easy" fix: "the check has to be done before assigning the value to the sk structure."

Thus the compiler introduces a vulnerability in the binary code that didn't exist in the source code, leading Zdrnja to the conclusion, "Fascinating research that again shows how security depends on every layer, and how even [a] very expensive source code audit can result in missed vulnerabilities."

ERRATA: Our original news indicated that Kernel 2.6.30 was previously released to customers primarily in a build for RHEL 5. We were wrong. The truth is that the exploit applies to Kernel 2.6.30 and later, as well as Kernel 2.6.18 in RHEL 5. The source code of the exploit, therefore, is compilable with different options. We apologize for our error.


  • Confusion

    Thanks for your alert, actually I got something mixed up. We've added a correction.
  • RHEL 5?

    Britta, I think you are getting your new stories confused. RHEL 5 is still running 2.6.18. 2.6.30 can be seen in recent releases of distros that use the newest versions, such as Ubuntu 9.04. There was an SSH vulnerability announced recently that possibly affects RHEL 5 because they are running older, more time-tested versions.
comments powered by Disqus

Issue 27: Raspberry Pi Adventures/Special Editions

Buy this issue as a PDF

Digital Issue: Price $15.99
(incl. VAT)


njobs Europe
Njobs Netherlands Njobs Deutschland Njobs United Kingdom Njobs Italia Njobs France Njobs Espana Njobs Poland
Njobs Austria Njobs Denmark Njobs Belgium Njobs Czech Republic Njobs Mexico Njobs India Njobs Colombia