Articles / SuSE: New kernel packages f…

SuSE: New kernel packages fix local privilege escalation

This update of the openSUSE 11.2 kernel fixes various bugs and lots of security issues. 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. A overflow in sendto() and recvfrom() routines was fixed that could be used by local attackers to potentially crash the kernel using some socket families like L2TP. A 32bit vs 64bit integer mismatch in gdth_ioctl_alloc could lead to memory corruption in the GDTH driver. The do_tcp_setsockopt function did not properly restrict TCP_MAXSEG values, which allows local users to cause a denial of service (OOPS). A remote (or local) attacker communicating over X.25 could cause a kernel panic by attempting to negotiate malformed facilities. A local attacker could cause memory overruns in the RDS protocol stack, potentially crashing the kernel. A minor heap overflow in the CAN network module was fixed.

A memory information leak in Berkeley packet filter rules allowed local attackers to read uninitialized memory of the kernel stack. A local denial of service in the blockdevice layer was fixed. By submitting certain I/O requests with 0 length, a local user could have caused a kernel panic. The ethtool_get_rxnfc function did not initialize a certain block of heap memory, which allowed local users to obtain potentially sensitive information via an ETHTOOL_GRXCLSRLALL ethtool command. Multiple integer overflows in the snd_ctl_new function allowed local users to cause a denial of service. A range checking overflow in pktcdvd ioctl was fixed. The sisfb_ioctl function 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. The snd_hdsp_hwdep_ioctl function did not initialize a certain structure, which allowed local users to obtain potentially sensitive information from kernel stack memory.

The viafb_ioctl_get_viafb_info function did not properly initialize a certain structure member, which allowed local users to obtain potentially sensitive information from kernel stack memory. An integer overflow in the do_io_submit function allowed local users to cause a denial of service. A iovec integer overflow in RDS sockets was fixed which could lead to local attackers gaining kernel privileges. Updated packages are available from download.opensuse.org.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

______________________________________________________________________________

                       SUSE Security Announcement

       Package:                kernel
       Announcement ID:        SUSE-SA:2011:002
       Date:                   Mon, 03 Jan 2011 15:00:00 +0000
       Affected Products:      openSUSE 11.2
       Vulnerability Type:     potential local privilege escalation
       CVSS v2 Base Score:     6.6 (AV:L/AC:L/Au:N/C:C/I:N/A:C)
       SUSE Default Package:   yes
       Cross-References:       CVE-2010-3067, CVE-2010-3437, CVE-2010-3442
                               CVE-2010-3861, CVE-2010-3865, CVE-2010-3874
                               CVE-2010-4078, CVE-2010-4080, CVE-2010-4081
                               CVE-2010-4082, CVE-2010-4157, CVE-2010-4158
                               CVE-2010-4160, CVE-2010-4162, CVE-2010-4163
                               CVE-2010-4164, CVE-2010-4165, CVE-2010-4175
                               CVE-2010-4258

   Content of This Advisory:
       1) Security Vulnerability Resolved:
            Linux 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 of the openSUSE 11.2 kernel fixes various bugs
  and lots of security issues.

  Following security issues have been fixed:
  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-4160: A overflow in sendto() and recvfrom() routines was fixed
  that could be used by local attackers to potentially crash the kernel
  using some socket families like L2TP.

  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-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-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-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-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.

2) Solution or Work-Around

  There is no known workaround, please install the update 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 <file.rpm>

  to apply the update, replacing <file.rpm> with the filename of the
  downloaded RPM package.


  x86 Platform:

  openSUSE 11.2:
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-debug-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-debug-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-debug-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-default-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-default-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-default-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-desktop-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-desktop-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-desktop-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-pae-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-pae-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-pae-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-syms-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-trace-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-trace-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-trace-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-vanilla-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-vanilla-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-vanilla-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-xen-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-xen-base-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/kernel-xen-devel-2.6.31.14-0.6.1.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/preload-kmp-default-1.1_2.6.31.14_0.6-6.9.39.i586.rpm
  http://download.opensuse.org/update/11.2/rpm/i586/preload-kmp-desktop-1.1_2.6.31.14_0.6-6.9.39.i586.rpm

  Platform Independent:

  openSUSE 11.2:
  http://download.opensuse.org/update/11.2/rpm/noarch/kernel-source-2.6.31.14-0.6.1.noarch.rpm
  http://download.opensuse.org/update/11.2/rpm/noarch/kernel-source-vanilla-2.6.31.14-0.6.1.noarch.rpm

  x86-64 Platform:

  openSUSE 11.2:
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-debug-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-debug-base-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-debug-devel-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-default-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-default-base-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-default-devel-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-desktop-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-desktop-base-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-desktop-devel-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-syms-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-trace-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-trace-base-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-trace-devel-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-vanilla-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-vanilla-base-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-vanilla-devel-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-xen-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-xen-base-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/kernel-xen-devel-2.6.31.14-0.6.1.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/preload-kmp-default-1.1_2.6.31.14_0.6-6.9.39.x86_64.rpm
  http://download.opensuse.org/update/11.2/rpm/x86_64/preload-kmp-desktop-1.1_2.6.31.14_0.6-6.9.39.x86_64.rpm

  Sources:

  openSUSE 11.2:
  http://download.opensuse.org/update/11.2/rpm/src/kernel-debug-2.6.31.14-0.6.1.nosrc.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-default-2.6.31.14-0.6.1.nosrc.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-desktop-2.6.31.14-0.6.1.nosrc.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-pae-2.6.31.14-0.6.1.nosrc.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-source-2.6.31.14-0.6.1.src.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-syms-2.6.31.14-0.6.1.src.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-trace-2.6.31.14-0.6.1.nosrc.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-vanilla-2.6.31.14-0.6.1.nosrc.rpm
  http://download.opensuse.org/update/11.2/rpm/src/kernel-xen-2.6.31.14-0.6.1.nosrc.rpm

______________________________________________________________________________

5) Pending Vulnerabilities, Solutions, and Work-Arounds:

  See SUSE Security Summary Report.
______________________________________________________________________________

6) Authenticity Verification and Additional Information

 - Announcement authenticity verification:

   SUSE security announcements are published via mailing lists and on Web
   sites. The authenticity and integrity of a SUSE security announcement is
   guaranteed by a cryptographic signature in each announcement. All SUSE
   security announcements are published with a valid signature.

   To verify the signature of the announcement, save it as text into a file
   and run the command

     gpg --verify <file>

   replacing <file> with the name of the file where you saved the
   announcement. The output for a valid signature looks like:

     gpg: Signature made <DATE> using RSA key ID 3D25D3D9
     gpg: Good signature from "SuSE Security Team <security@suse.de>"

   where <DATE> is replaced by the date the document was signed.

   If the security team's key is not contained in your key ring, you can
   import it from the first installation CD. To import the key, use the
   command

     gpg --import gpg-pubkey-3d25d3d9-36e12d04.asc

 - Package authenticity verification:

   SUSE update packages are available on many mirror FTP servers all over the
   world. While this service is considered valuable and important to the free
   and open source software community, the authenticity and the integrity of
   a package needs to be verified to ensure that it has not been tampered
   with.

   The internal rpm package signatures provide an easy way to verify the
   authenticity of an RPM package. Use the command

    rpm -v --checksig <file.rpm>

   to verify the signature of the package, replacing <file.rpm> with the
   filename of the RPM package downloaded. The package is unmodified if it
   contains a valid signature from build@suse.de with the key ID 9C800ACA.

   This key is automatically imported into the RPM database (on
   RPMv4-based distributions) and the gpg key ring of 'root' during
   installation. You can also find it on the first installation CD and at
   the end of this announcement.

 - SUSE runs two security mailing lists to which any interested party may
   subscribe:

   opensuse-security@opensuse.org
       -   General Linux and SUSE security discussion.
           All SUSE security announcements are sent to this list.
           To subscribe, send an e-mail to
               <opensuse-security+subscribe@opensuse.org>.

   opensuse-security-announce@opensuse.org
       -   SUSE's announce-only mailing list.
           Only SUSE's security announcements are sent to this list.
           To subscribe, send an e-mail to
               <opensuse-security-announce+subscribe@opensuse.org>.

   =====================================================================
   SUSE's security contact is <security@suse.com> or <security@suse.de>.
   The <security@suse.de> public key is listed below.
   =====================================================================
______________________________________________________________________________

   The information in this advisory may be distributed or reproduced,
   provided that the advisory is not modified in any way. In particular, the
   clear text signature should show proof of the authenticity of the text.

   SUSE Linux Products GmbH provides no warranties of any kind whatsoever
   with respect to the information contained in this security advisory.

Type Bits/KeyID     Date       User ID
pub  2048R/3D25D3D9 1999-03-06 SuSE Security Team <security@suse.de>
pub  1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <build@suse.de>

- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2 (GNU/Linux)

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
=ypVs
- -----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iQEVAwUBTSHd/3ey5gA9JdPZAQLzKgf/X34whB/W3SfornjtP1Eb90gIA5u35STN
Pq77abB1xU5DkNW71AvcIfkCPnrODjaEO8l07KCA53/NxOhpO3sDirKoKP3Qn6y2
G/4RYqP3zvrHux4GNQITmAqDc4RdQ2rkH8zoazs1BS2BpKEi+pmSzrQ2991jl6bx
X4THh+AxC/H3Y03Jdrk7lSSzd8FsXwct8iYLnoR4htuHk8VEJ2rT1BmvlQApbiUq
N6Ou6gf1ijEIE4f6nI6Jtl5coXnjLSfh7j/onB8CtQf0hMwdCXej+oKO6eL91bMu
MUPc8beqh1w4DQQCQszO3BJLimzPWpD0FHg7ZzVvs+wXcyfVU8xAMQ==
=pDkE
-----END PGP SIGNATURE——
Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.