The kernel packages contain the Linux kernel, the core of any Linux operating system. A flaw was found in the way socket buffers (skb) requiring TSO (TCP segment offloading) were handled by the sfc driver. If the skb did not fit within the minimum-size of the transmission queue, the network card could repeatedly reset itself. A remote attacker could use this flaw to cause a denial of service.
Updated packages are available from ftp.redhat.com.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ===================================================================== Red Hat Security Advisory Synopsis: Important: kernel security and bug fix update Advisory ID: RHSA-2012:1401-01 Product: Red Hat Enterprise Linux Advisory URL: https://rhn.redhat.com/errata/RHSA-2012-1401.html Issue date: 2012-10-23 CVE Names: CVE-2012-3412 ===================================================================== 1. Summary: Updated kernel packages that fix one security issue and several bugs are now available for Red Hat Enterprise Linux 6.2 Extended Update Support. The Red Hat Security Response Team has rated this update as having important security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link in the References section. 2. Relevant releases/architectures: Red Hat Enterprise Linux Server EUS (v. 6.2) - i386, noarch, ppc64, s390x, x86_64 Red Hat Enterprise Linux Server Optional EUS (v. 6.2) - i386, ppc64, s390x, x86_64 3. Description: The kernel packages contain the Linux kernel, the core of any Linux operating system. This update fixes the following security issue: * A flaw was found in the way socket buffers (skb) requiring TSO (TCP segment offloading) were handled by the sfc driver. If the skb did not fit within the minimum-size of the transmission queue, the network card could repeatedly reset itself. A remote attacker could use this flaw to cause a denial of service. (CVE-2012-3412, Important) Red Hat would like to thank Ben Hutchings of Solarflare (tm) for reporting CVE-2012-3412. This update also fixes the following bugs: * Previously, when a server attempted to shut down a socket, the svc_tcp_sendto() function set the XPT_CLOSE variable if the entire reply failed to be transmitted. However, before XPT_CLOSE could be acted upon, other threads could send further replies before the socket was really shut down. Consequently, data corruption could occur in the RPC record marker. With this update, send operations on a closed socket are stopped immediately, thus preventing this bug. (BZ#853256) * When a PIT (Programmable Interval Timer) MSB (Most Significant Byte) transition occurred very close to an SMI (System Management Interrupt) execution, the pit_verify_msb() function did not see the MSB transition. Consequently, the pit_expect_msb() function returned success incorrectly, eventually causing a large clock drift in the quick_pit_calibrate() function. As a result, the TSC (Time Stamp Counter) calibration on some systems was off by ± 20 MHz, which led to inaccurate timekeeping or ntp synchronization failures. This update fixes pit_expect_msb() and the clock drift no longer occurs in the described scenario. (BZ#853952) * Sometimes, the crypto allocation code could become unresponsive for 60 seconds or multiples thereof due to an incorrect notification mechanism. This could cause applications, like Openswan, to become unresponsive. The notification mechanism has been improved to avoid such hangs. (BZ#854475) * Traffic to the NFS server could trigger a kernel oops in the svc_tcp_clear_pages() function. The source code has been modified, and the kernel oops no longer occurs in this scenario. (BZ#856105) * Under certain circumstances, a system crash could result in data loss on XFS file systems. If files were created immediately before the file system was left to idle for a long period of time and then the system crashed, those files could appear as zero-length once the file system was remounted. This occurred even if a sync or fsync was run on the files. This was because XFS was not correctly idling the journal, and therefore it incorrectly replayed the inode allocation transactions upon mounting after the system crash, which zeroed the file size. This problem has been fixed by re-instating the periodic journal idling logic to ensure that all metadata is flushed within 30 seconds of modification, and the journal is updated to prevent incorrect recovery operations from occurring. (BZ#856685) * On architectures with the 64-bit cputime_t type, it was possible to trigger the "divide by zero" error, namely, on long-lived processes. A patch has been applied to address this problem, and the "divide by zero" error no longer occurs under these circumstances. (BZ#856702) Users should upgrade to these updated packages, which contain backported patches to resolve these issues. The system must be rebooted for this update to take effect. 4. 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 https://access.redhat.com/knowledge/articles/11258 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. 5. Bugs fixed (http://bugzilla.redhat.com/): 844714 - CVE-2012-3412 kernel: sfc: potential remote denial of service through TCP MSS option 6. Package List: Red Hat Enterprise Linux Server EUS (v. 6.2): Source: kernel-2.6.32-220.28.1.el6.src.rpm i386: kernel-2.6.32-220.28.1.el6.i686.rpm kernel-debug-2.6.32-220.28.1.el6.i686.rpm kernel-debug-debuginfo-2.6.32-220.28.1.el6.i686.rpm kernel-debug-devel-2.6.32-220.28.1.el6.i686.rpm kernel-debuginfo-2.6.32-220.28.1.el6.i686.rpm kernel-debuginfo-common-i686-2.6.32-220.28.1.el6.i686.rpm kernel-devel-2.6.32-220.28.1.el6.i686.rpm kernel-headers-2.6.32-220.28.1.el6.i686.rpm perf-2.6.32-220.28.1.el6.i686.rpm perf-debuginfo-2.6.32-220.28.1.el6.i686.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.i686.rpm noarch: kernel-doc-2.6.32-220.28.1.el6.noarch.rpm kernel-firmware-2.6.32-220.28.1.el6.noarch.rpm ppc64: kernel-2.6.32-220.28.1.el6.ppc64.rpm kernel-bootwrapper-2.6.32-220.28.1.el6.ppc64.rpm kernel-debug-2.6.32-220.28.1.el6.ppc64.rpm kernel-debug-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm kernel-debug-devel-2.6.32-220.28.1.el6.ppc64.rpm kernel-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm kernel-debuginfo-common-ppc64-2.6.32-220.28.1.el6.ppc64.rpm kernel-devel-2.6.32-220.28.1.el6.ppc64.rpm kernel-headers-2.6.32-220.28.1.el6.ppc64.rpm perf-2.6.32-220.28.1.el6.ppc64.rpm perf-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm s390x: kernel-2.6.32-220.28.1.el6.s390x.rpm kernel-debug-2.6.32-220.28.1.el6.s390x.rpm kernel-debug-debuginfo-2.6.32-220.28.1.el6.s390x.rpm kernel-debug-devel-2.6.32-220.28.1.el6.s390x.rpm kernel-debuginfo-2.6.32-220.28.1.el6.s390x.rpm kernel-debuginfo-common-s390x-2.6.32-220.28.1.el6.s390x.rpm kernel-devel-2.6.32-220.28.1.el6.s390x.rpm kernel-headers-2.6.32-220.28.1.el6.s390x.rpm kernel-kdump-2.6.32-220.28.1.el6.s390x.rpm kernel-kdump-debuginfo-2.6.32-220.28.1.el6.s390x.rpm kernel-kdump-devel-2.6.32-220.28.1.el6.s390x.rpm perf-2.6.32-220.28.1.el6.s390x.rpm perf-debuginfo-2.6.32-220.28.1.el6.s390x.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.s390x.rpm x86_64: kernel-2.6.32-220.28.1.el6.x86_64.rpm kernel-debug-2.6.32-220.28.1.el6.x86_64.rpm kernel-debug-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm kernel-debug-devel-2.6.32-220.28.1.el6.x86_64.rpm kernel-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm kernel-debuginfo-common-x86_64-2.6.32-220.28.1.el6.x86_64.rpm kernel-devel-2.6.32-220.28.1.el6.x86_64.rpm kernel-headers-2.6.32-220.28.1.el6.x86_64.rpm perf-2.6.32-220.28.1.el6.x86_64.rpm perf-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm Red Hat Enterprise Linux Server Optional EUS (v. 6.2): Source: kernel-2.6.32-220.28.1.el6.src.rpm i386: kernel-debug-debuginfo-2.6.32-220.28.1.el6.i686.rpm kernel-debuginfo-2.6.32-220.28.1.el6.i686.rpm kernel-debuginfo-common-i686-2.6.32-220.28.1.el6.i686.rpm perf-debuginfo-2.6.32-220.28.1.el6.i686.rpm python-perf-2.6.32-220.28.1.el6.i686.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.i686.rpm ppc64: kernel-debug-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm kernel-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm kernel-debuginfo-common-ppc64-2.6.32-220.28.1.el6.ppc64.rpm perf-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm python-perf-2.6.32-220.28.1.el6.ppc64.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.ppc64.rpm s390x: kernel-debug-debuginfo-2.6.32-220.28.1.el6.s390x.rpm kernel-debuginfo-2.6.32-220.28.1.el6.s390x.rpm kernel-debuginfo-common-s390x-2.6.32-220.28.1.el6.s390x.rpm kernel-kdump-debuginfo-2.6.32-220.28.1.el6.s390x.rpm perf-debuginfo-2.6.32-220.28.1.el6.s390x.rpm python-perf-2.6.32-220.28.1.el6.s390x.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.s390x.rpm x86_64: kernel-debug-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm kernel-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm kernel-debuginfo-common-x86_64-2.6.32-220.28.1.el6.x86_64.rpm perf-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm python-perf-2.6.32-220.28.1.el6.x86_64.rpm python-perf-debuginfo-2.6.32-220.28.1.el6.x86_64.rpm These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from https://access.redhat.com/security/team/key/#package 7. References: https://www.redhat.com/security/data/cve/CVE-2012-3412.html https://access.redhat.com/security/updates/classification/#important 8. Contact: The Red Hat security contact is <email@example.com>. More contact details at https://access.redhat.com/security/team/contact/ Copyright 2012 Red Hat, Inc. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (GNU/Linux) iD8DBQFQht7OXlSAg2UNWIIRAmQNAJ4wmQiIxCJkDaIrUvQCM+FXnSqFZACfbwUB cA8cfvAngKsXQ2Q7LGqrLNA= =C1O/ -----END PGP SIGNATURE-----