SuSE: 2011-007: Realtime Linux Kernel Security Update
Summary
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
______________________________________________________________________________
SUSE Security Announcement
Package: kernel-rt
Announcement ID: SUSE-SA:2011:007
Date: Mon, 07 Feb 2011 09:00:00 +0000
Affected Products: SUSE Linux Enterprise Real Time 11 SP1
Vulnerability Type: remote denial of service, local privilege escalation
CVSS v2 Base Score: 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
SUSE Default Package: yes
Cross-References: CVE-2010-2226, CVE-2010-2803, CVE-2010-2942
CVE-2010-2946, CVE-2010-2954, CVE-2010-2955
CVE-2010-2959, CVE-2010-2960, CVE-2010-2962
CVE-2010-3015, CVE-2010-3067, CVE-2010-3078
CVE-2010-3079, CVE-2010-3080, CVE-2010-3081
CVE-2010-3084, CVE-2010-3296, CVE-2010-3297
CVE-2010-3298, CVE-2010-3301, CVE-2010-3310
CVE-2010-3432, CVE-2010-3437, CVE-2010-3442
CVE-2010-3848, CVE-2010-3849, CVE-2010-3850
CVE-2010-3861, CVE-2010-3865, CVE-2010-3874
CVE-2010-3881, CVE-2010-3904, CVE-2010-4072
CVE-2010-4073, CVE-2010-4078, CVE-2010-4080
CVE-2010-4081, CVE-2010-4082, CVE-2010-4083
CVE-2010-4157, CVE-2010-4158, CVE-2010-4162
CVE-2010-4163, CVE-2010-4164, CVE-2010-4165
CVE-2010-4169, CVE-2010-4175, CVE-2010-4258
CVE-2010-4347
Content of This Advisory:
1) Security Vulnerability Resolved:
Linux realtime kernel security update
Problem Description
2) Solution or Work-Around
3) Special Instructions and Notes
4) Package Location and Checksums
5) Pending Vulnerabilities, Solutions, and Work-Arounds:
See SUSE Security Summary Report.
6) Authenticity Verification and Additional Information
______________________________________________________________________________
1) Problem Description and Brief Discussion
This update to the SUSE Linux Enterprise 11 SP 1 Realtime Extension
kernel brings various bug and lots of security fixes.
This update also integrates upstream 2.6.33.7-rt29->2.6.33.7.2-rt30
changes.
Following security issues were fixed:
CVE-2010-2962: Missing sanity checks in pread/pwrite in the i915
graphics driver allowed local attackers to overwrite kernel memory and
so gain privileges. This required a i915 graphics card to be effective.
CVE-2010-3310: Multiple integer signedness errors in net/rose/af_rose.c
in the Linux kernel allowed local users to cause a denial of service
(heap memory corruption) or possibly have unspecified other impact
via a rose_getname function call, related to the rose_bind and
rose_connect functions.
CVE-2010-3080: A double free in an alsa error path was fixed, which
could lead to kernel crashes.
CVE-2010-3081: Incorrect buffer handling in the biarch-compat buffer
handling could be used by local attackers to gain root privileges. This
problem affects foremost x86_64, or potentially other biarch platforms,
like PowerPC and S390x.
CVE-2010-2960: The keyctl_session_to_parent function in
security/keys/keyctl.c in the Linux kernel expects that a certain
parent session keyring exists, which allowed local users to cause
a denial of service (NULL pointer dereference and system crash) or
possibly have unspecified other impact via a KEYCTL_SESSION_TO_PARENT
argument to the keyctl function.
CVE-2010-3084: A buffer overflow in the ETHTOOL_GRXCLSRLALL code
could be used to crash the kernel or potentially execute code.
CVE-2010-2955: A kernel information leak via the WEXT ioctl was fixed.
CVE-2010-3301: Mismatch between 32bit and 64bit register usage in the
system call entry path could be used by local attackers to gain root
privileges. This problem only affects x86_64 kernels.
CVE-2010-3298: Fixed a kernel information leak in the net/usb/hso driver.
CVE-2010-3296: Fixed a kernel information leak in the cxgb3 driver.
CVE-2010-3297: Fixed a kernel information leak in the net/eql driver.
CVE-2010-3078: Fixed a kernel information leak in the xfs filesystem.
CVE-2010-3079: Fixed a ftrace NULL pointer dereference problem which
could lead to kernel crashes.
CVE-2010-2954: The irda_bind function in net/irda/af_irda.c in the
Linux kernel did not properly handle failure of the irda_open_tsap
function, which allowed local users to cause a denial of service
(NULL pointer dereference and panic) and possibly have unspecified
other impact via multiple unsuccessful calls to bind on an AF_IRDA
(aka PF_IRDA) socket.
CVE-2010-2959: Integer overflow in net/can/bcm.c in the Controller
Area Network (CAN) implementation in the Linux kernel allowed attackers to execute arbitrary code or cause a denial of service (system crash)
via crafted CAN traffic.
CVE-2010-2946: The 'os2' xattr namespace on the jfs filesystem could
be used to bypass xattr namespace rules.
CVE-2010-2942: Fixed a kernel information leak in the net scheduler
code.
CVE-2010-3015: Integer overflow in the ext4_ext_get_blocks function
in fs/ext4/extents.c in the Linux kernel allowed local users to cause
a denial of service (BUG and system crash) via a write operation on
the last block of a large file, followed by a sync operation.
CVE-2010-2803: The drm_ioctl function in drivers/gpu/drm/drm_drv.c
in the Direct Rendering Manager (DRM) subsystem in the Linux kernel
allowed local users to obtain potentially sensitive information from
kernel memory by requesting a large memory-allocation amount.
CVE-2010-2226: The xfs_swapext function in fs/xfs/xfs_dfrag.c in the
Linux kernel did not properly check the file descriptors passed to
the SWAPEXT ioctl, which allowed local users to leverage write access
and obtain read access by swapping one file into another file.
CVE-2010-3849: The econet_sendmsg function in net/econet/af_econet.c
in the Linux kernel, when an econet address is configured, allowed
local users to cause a denial of service (NULL pointer dereference
and OOPS) via a sendmsg call that specifies a NULL value for the
remote address field.
CVE-2010-3848: Stack-based buffer overflow in the econet_sendmsg
function in net/econet/af_econet.c in the Linux kernel when an econet
address is configured, allowed local users to gain privileges by
providing a large number of iovec structures.
CVE-2010-3850: The ec_dev_ioctl function in net/econet/af_econet.c
in the Linux kernel did not require the CAP_NET_ADMIN capability,
which allowed local users to bypass intended access restrictions and
configure econet addresses via an SIOCSIFADDR ioctl call.
CVE-2010-4347: A local user could inject ACPI code into the kernel
via the world-writable "custom_debug" file, allowing local privilege
escalation.
CVE-2010-4258: A local attacker could use a Oops (kernel crash) caused
by other flaws to write a 0 byte to a attacker controlled address
in the kernel. This could lead to privilege escalation together with
other issues.
CVE-2010-4157: A 32bit vs 64bit integer mismatch in gdth_ioctl_alloc
could lead to memory corruption in the GDTH driver.
CVE-2010-4165: The do_tcp_setsockopt function in net/ipv4/tcp.c
in the Linux kernel did not properly restrict TCP_MAXSEG (aka MSS)
values, which allows local users to cause a denial of service (OOPS)
via a setsockopt call that specifies a small value, leading to a
divide-by-zero error or incorrect use of a signed integer.
CVE-2010-4164: A remote (or local) attacker communicating over X.25
could cause a kernel panic by attempting to negotiate malformed
facilities.
CVE-2010-4175: A local attacker could cause memory overruns in the
RDS protocol stack, potentially crashing the kernel. So far it is
considered not to be exploitable.
CVE-2010-4169: Use-after-free vulnerability in mm/mprotect.c in the
Linux kernel allowed local users to cause a denial of service via
vectors involving an mprotect system call.
CVE-2010-3874: A minor heap overflow in the CAN network module
was fixed. Due to nature of the memory allocator it is likely not
exploitable.
CVE-2010-4158: A memory information leak in Berkeley packet filter
rules allowed local attackers to read uninitialized memory of the
kernel stack.
CVE-2010-4162: A local denial of service in the blockdevice layer
was fixed.
CVE-2010-4163: By submitting certain I/O requests with 0 length,
a local user could have caused a kernel panic.
CVE-2010-3861: The ethtool_get_rxnfc function in net/core/ethtool.c
in the Linux kernel did not initialize a certain block of heap memory,
which allowed local users to obtain potentially sensitive information
via an ETHTOOL_GRXCLSRLALL ethtool command with a large info.rule_cnt
value.
CVE-2010-3881: arch/x86/kvm/x86.c in the Linux kernel did not
initialize certain structure members, which allows local users to
obtain potentially sensitive information from kernel stack memory
via read operations on the /dev/kvm device.
CVE-2010-3442: Multiple integer overflows in the snd_ctl_new function
in sound/core/control.c in the Linux kernel allowed local users to
cause a denial of service (heap memory corruption) or possibly have
unspecified other impact via a crafted (1) SNDRV_CTL_IOCTL_ELEM_ADD or
(2) SNDRV_CTL_IOCTL_ELEM_REPLACE ioctl call.
CVE-2010-3437: A range checking overflow in pktcdvd ioctl was fixed.
CVE-2010-4078: The sisfb_ioctl function in drivers/video/sis/sis_main.c
in the Linux kernel did not properly initialize a certain structure
member, which allowed local users to obtain potentially sensitive
information from kernel stack memory via an FBIOGET_VBLANK ioctl call.
CVE-2010-4080: The snd_hdsp_hwdep_ioctl function in
sound/pci/rme9652/hdsp.c in the Linux kernel did not initialize
a certain structure, which allowed local users to obtain
potentially sensitive information from kernel stack memory via an
SNDRV_HDSP_IOCTL_GET_CONFIG_INFO ioctl call.
CVE-2010-4081: The snd_hdspm_hwdep_ioctl function in
sound/pci/rme9652/hdspm.c in the Linux kernel did not initialize
a certain structure, which allowed local users to obtain
potentially sensitive information from kernel stack memory via an
SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO ioctl call.
CVE-2010-4082: The viafb_ioctl_get_viafb_info function in
drivers/video/via/ioctl.c in the Linux kernel did not properly
initialize a certain structure member, which allowed local users to
obtain potentially sensitive information from kernel stack memory
via a VIAFB_GET_INFO ioctl call.
CVE-2010-4073: The ipc subsystem in the Linux kernel did not
initialize certain structures, which allowed local users to obtain
potentially sensitive information from kernel stack memory via
vectors related to the (1) compat_sys_semctl, (2) compat_sys_msgctl,
and (3) compat_sys_shmctl functions in ipc/compat.c; and the (4)
compat_sys_mq_open and (5) compat_sys_mq_getsetattr functions in
ipc/compat_mq.c.
CVE-2010-4072: The copy_shmid_to_user function in ipc/shm.c in the
Linux kernel did not initialize a certain structure, which allowed
local users to obtain potentially sensitive information from kernel
stack memory via vectors related to the shmctl system call and the
"old shm interface."
CVE-2010-4083: The copy_semid_to_user function in ipc/sem.c in the
Linux kernel did not initialize a certain structure, which allowed
local users to obtain potentially sensitive information from kernel
stack memory via a (1) IPC_INFO, (2) SEM_INFO, (3) IPC_STAT, or (4)
SEM_STAT command in a semctl system call.
CVE-2010-3432: The sctp_packet_config function in net/sctp/output.c
in the Linux kernel performed extraneous initializations of packet
data structures, which allowed remote attackers to cause a denial of
service (panic) via a certain sequence of SCTP traffic.
CVE-2010-3067: Integer overflow in the do_io_submit function in
fs/aio.c in the Linux kernel allowed local users to cause a denial
of service or possibly have unspecified other impact via crafted use
of the io_submit system call.
CVE-2010-3865: A iovec integer overflow in RDS sockets was fixed
which could lead to local attackers gaining kernel privileges.
CVE-2010-3904: A local privilege escalation in RDS sockets allowed
local attackers to gain root privileges.
2) Solution or Work-Around
Please install the updated packages.
3) Special Instructions and Notes
Please reboot the machine after installing the update.
4) Package Location and Checksums
The preferred method for installing security updates is to use the YaST
"Online Update" module or the "zypper" commandline tool. The package and
patch management stack will detect which updates are required and
automatically perform the necessary steps to verify and install them.
Alternatively, download the update packages for your distribution manually
and verify their integrity by the methods listed in Section 6 of this
announcement. Then install the packages using the command
rpm -Fhv
References