Issued:
2009-09-01
Updated:
2009-09-01

RHSA-2009:1239 - Important: kernel-rt security and bug fix update


Synopsis

Important: kernel-rt security and bug fix update

Type/Severity

Security Advisory Important

Topic

Updated kernel-rt packages that fix several security issues and various bugs are now available for Red Hat Enterprise MRG 1.1.

This update has been rated as having important security impact by the Red Hat Security Response Team.

[Updated 1st Sep 2009] This erratum originally stated that these updated kernel packages corrected the issue CVE-2009-1895. This was a mistake as the kernel packages do not contain a fix for this issue. CVE-2009-1895 will be addressed in a future update.

Description

The kernel-rt packages contain the Linux kernel, the core of any Linux operating system.

These updated packages fix the following security issues:

  • Tavis Ormandy and Julien Tinnes of the Google Security Team reported a flaw in the SOCKOPS_WRAP macro in the Linux kernel. This macro did not initialize the sendpage operation in the proto_ops structure correctly. A local, unprivileged user could use this flaw to cause a local denial of service or escalate their privileges. (CVE-2009-2692, Important)

  • it was discovered that, when executing a new process, the clear_child_tid pointer in the Linux kernel is not cleared. If this pointer points to a writable portion of the memory of the new program, the kernel could corrupt four bytes of memory, possibly leading to a local denial of service or privilege escalation. (CVE-2009-2848, Important)

  • a flaw was found in the way the do_sigaltstack() function in the Linux kernel copies the stack_t structure to user-space. On 64-bit machines, this flaw could lead to a four-byte information leak. (CVE-2009-2847, Moderate)

This update also fixes the following bugs:

  • the gcc flag "-fno-delete-null-pointer-checks" was added to the kernel build options. This prevents gcc from optimizing out NULL pointer checks after the first use of a pointer. NULL pointer bugs are often exploited by attackers, and keeping these checks is considered a safety measure. (BZ#511187)

  • a bug in the locking strategy for the free_pages_bulk() kernel function was found, where a lock in a code branch was not held. This could have created a "double free" problem that resulted in a kernel panic. (BZ#513715)

  • udevd and multipathd were unable to service events fast enough when a Fibre Channel cable was unplugged. This caused the cable state to be out of sync if the cable was plugged back in quickly, possibly resulting in devices being removed, or path issues when using Device-Mapper Multipath. This has been changed so that users can specify devices that should not be removed if a cable is unplugged. (BZ#514541)

  • a race condition in exit_thread() could have eventually caused a kernel oops. (BZ#514587)

  • a race condition was fixed between kthread_stop() and kthread_create(). Kernel subsystems creating and stopping threads at a fast pace could hit this issue. Several inexplicable backtraces observed during tests caused this race condition. (BZ#518967)

  • HPET_EMULATE_RTC was being disabled during kernel compile. This was caused by an incorrect requirement in the related Kconfig entry. This issue led to failures when accessing the RTC (real time clock) in machines that had the RTC emulated by HPET (High Precision Event Timer). (BZ#519433)

Users should upgrade to these updated packages, which contain backported patches to correct these issues. The system must be rebooted for this update to take effect.

Solution

Before applying this update, make sure that all previously-released errata relevant to your system have been applied.

This update is available via Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at This content is not included.http://kbase.redhat.com/faq/docs/DOC-11259

Affected Products

ProductVersionArch
MRG Realtime1x86_64
MRG Realtime1i386

Updated Packages

  • kernel-rt-vanilla-devel-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-debug-devel-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-debug-devel-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-debug-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-devel-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-trace-devel-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-vanilla-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-doc-2.6.24.7-132.el5rt.noarch.rpm
  • kernel-rt-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-trace-devel-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-trace-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-debug-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-devel-2.6.24.7-132.el5rt.x86_64.rpm
  • kernel-rt-vanilla-devel-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-vanilla-2.6.24.7-132.el5rt.i686.rpm
  • kernel-rt-trace-2.6.24.7-132.el5rt.i686.rpm

Fixes

CVEs

References


Additional information