- Issued:
- 2010-04-27
- Updated:
- 2010-04-27
RHSA-2010:0380 - Security Advisory
Synopsis
Important: kernel security and bug fix update
Type/Severity
Security Advisory: Important
Topic
Updated kernel packages that fix multiple security issues and several bugs
are now available for Red Hat Enterprise Linux 5.4 Extended Update Support.
The Red Hat Security Response Team has rated this update as having
important security impact. Common Vulnerability Scoring System (CVSS) base
scores, which give detailed severity ratings, are available for each
vulnerability from the CVE links in the References section.
Description
The kernel packages contain the Linux kernel, the core of any Linux
operating system.
Security fixes:
- a race condition was found in the mac80211 implementation, a framework
used for writing drivers for wireless devices. An attacker could trigger
this flaw by sending a Delete Block ACK (DELBA) packet to a target system,
resulting in a remote denial of service. Note: This issue only affected
users on 802.11n networks, and that also use the iwlagn driver with Intel
wireless hardware. (CVE-2009-4027, Important)
- a use-after-free flaw was found in the tcp_rcv_state_process() function
in the Linux kernel TCP/IP protocol suite implementation. If a system using
IPv6 had the IPV6_RECVPKTINFO option set on a listening socket, a remote
attacker could send an IPv6 packet to that system, causing a kernel panic
(denial of service). (CVE-2010-1188, Important)
- a flaw was found in the gfs2_lock() implementation. The GFS2 locking code
could skip the lock operation for files that have the S_ISGID bit
(set-group-ID on execution) in their mode set. A local, unprivileged user
on a system that has a GFS2 file system mounted could use this flaw to
cause a kernel panic (denial of service). (CVE-2010-0727, Moderate)
- a divide-by-zero flaw was found in the ext4 file system code. A local
attacker could use this flaw to cause a denial of service by mounting a
specially-crafted ext4 file system. (CVE-2009-4307, Low)
Bug fixes:
- if a program that calls posix_fadvise() were compiled on x86, and then
run on a 64-bit system, that program could experience various problems,
including performance issues and the call to posix_fadvise() failing,
causing the program to not run as expected or even abort. With this update,
when such programs attempt to call posix_fadvise() on 64-bit systems,
sys32_fadvise64() is called instead, which resolves this issue. This update
also fixes other 32-bit system calls that were mistakenly called on 64-bit
systems (including systems running the kernel-xen kernel). (BZ#569597)
- on some systems able to set a P-State limit via the BIOS, it was not
possible to set the limit to a higher frequency if the system was rebooted
while a low limit was set:
"/sys/devices/system/cpu/cpu[x]/cpufreq/scaling_max_freq" would retain the
low limit in these situations. With this update, limits are correctly set,
even after being changed after a system reboot. (BZ#569727)
- certain Intel ICH hardware (using the e1000e driver) has an NFS filtering
capability that did not work as expected, causing memory corruption, which
could lead to kernel panics, or other unexpected behavior. In a reported
case, a panic occurred when running NFS connection tests. This update
resolves this issue by disabling the filtering capability. (BZ#569797)
- if "open(/proc/[PID]/[xxxx])" was called at the same time the process was
exiting, the call would fail with an EINVAL error (an incorrect error for
this situation). With this update, the correct error, ENOENT, is returned
in this situation. (BZ#571362)
- multiqueue is used for transmitting data, but a single queue transmit
ON/OFF scheme was used. This led to a race condition on systems with the
bnx2x driver in situations where one queue became full, but not stopped,
and the other queue enabled transmission. With this update, only a single
queue is used. (BZ#576951)
- the "/proc/sys/vm/mmap_min_addr" tunable helps prevent unprivileged
users from creating new memory mappings below the minimum address. The
sysctl value for mmap_min_addr could be changed by a process or user that
has an effective user ID (euid) of 0, even if the process or user does not
have the CAP_SYS_RAWIO capability. This update adds a capability check for
the CAP_SYS_RAWIO capability before allowing the mmap_min_addr value to be
changed. (BZ#577206)
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 all previously-released errata
relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
http://kbase.redhat.com/faq/docs/DOC-11259
To install kernel packages manually, use "rpm -ivh [package]". Do not
use "rpm -Uvh" as that will remove the running kernel binaries from
your system. You may use "rpm -e" to remove old kernels after
determining that the new kernel functions properly on your system.
Affected Products
- Red Hat Enterprise Linux for x86_64 - Extended Update Support 5.4 x86_64
- Red Hat Enterprise Linux for x86_64 - Extended Update Support 5.4 ia64
- Red Hat Enterprise Linux for x86_64 - Extended Update Support 5.4 i386
- Red Hat Enterprise Linux for IBM z Systems - Extended Update Support 5.4 s390x
- Red Hat Enterprise Linux for Power, big endian - Extended Update Support 5.4 ppc
Fixes
- BZ - 541149 - CVE-2009-4026 CVE-2009-4027 kernel: mac80211: fix spurious delBA handling
- BZ - 547251 - CVE-2009-4307 kernel: ext4: avoid divide by zero when trying to mount a corrupted file system
- BZ - 569597 - posix_fadvise() handles its arguments incorrectly in 32-bit compat mode. [rhel-5.4.z]
- BZ - 569727 - when booted with P-state limit, limit can never be increased [rhel-5.4.z]
- BZ - 569797 - e1000 & e1000e: Memory corruption/paging error when tx hang occurs [rhel-5.4.z]
- BZ - 570863 - CVE-2010-0727 bug in GFS/GFS2 locking code leads to dos
- BZ - 571362 - [5.4] open(/proc/PID/xxx) fails with EINVAL even though it should be ENOENT. [rhel-5.4.z]
- BZ - 576951 - [Broadcom 5.4.z bug] bnx2x: net device is in XON state while the Tx ring is full [rhel-5.4.z]
- BZ - 577206 - kernel: sysctl: require CAP_SYS_RAWIO to set mmap_min_addr [rhel-5.4.z]
- BZ - 577711 - CVE-2010-1188 kernel: ipv6: skb is unexpectedly freed
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.