| Small linux deployments » RHEL 5 / Centos 5 Kernel RPMs patched against vmsplice local root exploit | System Administration and Web Application Development Blog

I’ve built the following RPMs for RHEL 5 that fix the vmsplice() exploit in RHEL machines. They are built off of the 2.6.18-53.1.6.el kernel, with the upstream patch from kernel.org.

I’ve tested them on i686 and x86_64 machines, however be aware that they have not undergone extensive QA, so I’m not responsible if they blow up your machine. That said, I’m pretty confident that no one will have any problems with them, as they are literally a one-line difference.

Update: Reminder to install these with rpm -ivh and not rpm -Uvh. Otherwise you’ll remove your old kernels, which you may need to fall back to,.

i686:

i688-PAE:

x86_64:

Source:

Xen, and several other RPMs are available at: erek.blumenthals.com/vmsplicekernels. Note that the PAE and Xen kernels are entirely untested.

As this kernel is an odd-numbered release, yum should pick up the official upstream patch as soon as it’s available, but in case they do their numbering differently or pick the same release number that I did, it’d be a good idea to double check that yum picks up the latest.

Let me know any experiences with this, especially any confirmations that it’s safe with PAE or Xen.

10 Responses to “RHEL 5 / Centos 5 Kernel RPMs patched against vmsplice local root exploit”

  1. felosi Says:

    Thanks for the fixed rpms erek, they are much appreciated. I will mirror these from my server as well
    http://nix101.com

  2. siosios Says:

    a big thanks for the rpms. i have mirrored them in my forums also

  3. Zeroidle Says:

    Thanks erek!

  4. Hung Says:

    After installing your kernel, it returns wtf message. Not sure what does it mean?

    # ./t
    ———————————–
    Linux vmsplice Local Root Exploit
    By qaaz
    ———————————–
    [+] mmap: 0×0 .. 0×1000
    [+] page: 0×0
    [+] page: 0×20
    [+] mmap: 0×4000 .. 0×5000
    [+] page: 0×4000
    [+] page: 0×4020
    [+] mmap: 0×1000 .. 0×2000
    [+] page: 0×1000
    [+] mmap: 0xf7fc1000 .. 0xf7ff3000
    [-] wtf

    # ./t2
    ———————————–
    Linux vmsplice Local Root Exploit
    By qaaz
    ———————————–
    [+] addr: 0xffffffff
    [-] wtf

  5. Helvetica Says:

    Odd/Even kernel version numbers no longer denote experimental/stable kernels.

    All linus kernel releases are stable - he changed the process so all the instability occurs in the release candidates; there’s a 2-week window starting at the release of any kernel, in which the improvements for the next release are applied, then linus sends out a -rc1 kernel and the process of bug fixing starts until the kernel settles down and then linus releases it and the cycle starts again.

  6. Erek Dyskant Says:

    Helvetica,
    It wasn’t the kernel version I changed, it was the RPM release number (from 2.6.18-53.1.6.el to 2.6.18-53.1.7.el). I thought that redhat tends to ship even numbered release numbers, but looking back through the update archives they do sometimes ship odd-numbered ones. I doubt that they’ll number it the same that I did, but if they do, I’ll post instructions for how to add their RPM manually when it comes out.

    –Erek

  7. anonymous coward Says:

    wtf
    I suggest care. Yesterday, during our testing, we saw this on two hosts, both kernel-2.6.18-8.el5 .
    One ran only the exploit, the other was used in an unsuccessful attempt to test the live patch and wrap it as an rpm. The exploit-only host, several hours after the exploit test, suffered a kernel panic, during a quarter-hour that it was otherwise idle, and a safety reboot of the live patch test machine failed due to a /etc/passwd file overwritten with random binary data.

    After cursory examination of the exploit code, I believe it indicates that the root-owned virtual memory randomly selected and corrupted by the exploit (or live patch usage of the exploit) was critical enough that the kernel panicked quickly.

    Response: The live kernel module has been known to cause kernel panics. See bugzilla.redhat.com/show_bug.cgi?id=432251#c14 for details. –Erek

  8. anonymous coward Says:

    wtf
    Lest I inadvertently scare anyone away from testing for vulnerability and taking corrective action, I should add:
    Both machines were fully recovered, though both hosts required testing time, and the patch test host required restoring /etc/passwd from a backup.
    Thank you erik.

  9. Mantas Says:

    Hung,

    just try to run that exploit without root privileges :^)

  10. R1CHARD Hacking my minD » Blog Archive » Parches para vulnerabilidad del kernel 2.6.17 - 2.6.24.1 Says:

    […] http://erek.blumenthals.com/blog/2008/02/11/rhel-5-centos-5-kernel-rpms-patched-against-vmsplice-loc… […]

    Translation: “Patches for the kernel vulnerability.” A blog with instructions in spanish to patch various distributions.

Leave a Reply