Linux Today: Linux News On Internet Time.

More on LinuxToday

SUSE Linux Advisory: Linux Kernel (x86_64, AMD64)

Jan 15, 2004, 00:57 (0 Talkback[s])

SUSE Security Announcement

Package: Linux Kernel (x86_64, AMD64)
Announcement-ID: SuSE-SA:2004:003
Date: Monday, Jan 15th 2004 14:17 MET
Affected products: 9.0 SuSE Linux Enterprise Server 8,
Vulnerability Type: local system compromise
Severity (1-10): 6
SUSE default package: yes
Cross References:  

Content of this advisory:

  1. security vulnerability resolved:
    • incorrect bounds checking in mremap()
    • inproper CPU register access check in 32bit ptrace() problem description, discussion, solution and upgrade information
  2. pending vulnerabilities, solutions, workarounds:
    • ethereal
    • mc
    • mod_gzip
    • tripwire
    • cvs
    • gnome-filesystem
    • XDM (XFree86, xf86)
    • 3ddiag
    • mod_auth_shadow
  3. standard appendix (further information)

1) problem description, brief discussion, solution, upgrade information

The do_mremap() function of the Linux Kernel is used to manage (move, resize) Virtual Memory Areas (VMAs). By exploiting an incorrect bounds check in do_mremap() during the remapping of memory it is possible to create a VMA with the size of 0. In normal operation do_mremap() leaves a memory hole of one page and creates an additional VMA of two pages. In case of exploitation no hole is created but the new VMA has a 0 bytes length. The Linux Kernel's memory management is corrupted from this point and can be abused by local users to gain root privileges.

Additionally Andi Kleen of SUSE LINUX found and fixed another bug in the 32bit emulation of ptrace() which allows to modify CPU registers from user-space to get full access to system ressources.

There is no temporary workaround for this bug.

Please reboot your system to run the new kernel.

AMD64 Platform:

ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/k_deflt-2.4.21-178.x86_64.rpm 4896825f6399bebc80073dbbd74432cd
source rpm(s):
ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/k_deflt-2.4.21-178.src.rpm e9afc5cbb5fc1dddb53e179a52d45f0a
ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/k_smp-2.4.21-178.x86_64.rpm 8b7667ac6baf4aebd4961274cbdaa84e
source rpm(s):
ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/k_smp-2.4.21-178.src.rpm ffc25e3c1b9a4ed4e5182ff5cbdd5c18
ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/x86_64/kernel-source-2.4.21-178.x86_64.rpm 9422ec31eb76d26a1dfaca8fb8542907
source rpm(s):
ftp://ftp.suse.com/pub/suse/x86_64/update/9.0/rpm/src/kernel-source-2.4.21-178.src.rpm 8acc26621600cc7411f964656c435389

2) Pending vulnerabilities in SUSE Distributions and Workarounds:

  • ethereal Two remotely exploitable denial-of-service attacks were found in the network analyzer ethereal. New packages are available on our FTP servers.
  • mc By using a special combination of links in archive-files it is possible to execute arbitrary commands while mc tries to open it in its VFS. The packages will be released soon.
  • mod_gzip (apache-contrib) The apache module mod_gzip is vulnerable to remote code execution while running in debug-mode. We do not ship this module in debug-mode but future versions will include the fix. Additionally the mod_gzip code was audited to fix more possible security related bugs. After more testing a new apache-contrib RPM package will be released.
  • tripwire Tripwire is a file integrity checker. The tripwire version on SuSE Linux 8.2 and 9.0 do crash when a requested file does not exists. New packages will be available soon.
  • cvs The cvs server-side can be tricked to create files in the root filesystem of the server by requesting malformed modules. The permissions on the root filesystem normally prevent this malfunction. Additionally the package will include a fix for a format-string bug. New packages are available on our FTP servers.
  • gnome-filesystem A script included in the gnome-filesystem package handles temporary files insecurely. This script is called by YaST2 with root privileges. The bug can be exploited locally to create or overwrite arbitrary files in the filesystem. The bug is fixed in our current source-tree since November 2003. New packages are available on our FTP servers.
  • XDM (XFree86, xf86) A missing check for failure conditions in the PAM code of XDM can lead to local root access in conjunction with Kerberos and alike. New packages will be released soon.
  • 3ddiag Some 3ddiag scripts handle temporary files in an insecure manner. Thanks to Stefan Nordhausen <nordhaus at informatik.hu-berlin.de/> for reporting some of the issues. New packages will be available on our FTP servers soon.
  • mod_auth_shadow (apache-contrib) This apache module ignores account expiration dates. The update will be released together with mod_gzip.

3) standard appendix: authenticity verification, additional information

  • Package authenticity verification:

SUSE update packages are available on many mirror ftp servers all over the world. While this service is being considered valuable and important to the free and open source software community, many users wish to be sure about the origin of the package and its content before installing the package. There are two verification methods that can be used independently from each other to prove the authenticity of a downloaded file or rpm package:

  1. md5sums as provided in the (cryptographically signed) announcement.
  2. using the internal gpg signatures of the rpm package.
  3. execute the command md5sum <name-of-the-file.rpm> after you downloaded the file from a SUSE ftp server or its mirrors. Then, compare the resulting md5sum with the one that is listed in the announcement. Since the announcement containing the checksums is cryptographically signed (usually using the key security@suse.de), the checksums show proof of the authenticity of the package. We disrecommend to subscribe to security lists which cause the email message containing the announcement to be modified so that the signature does not match after transport through the mailing list software. Downsides: You must be able to verify the authenticity of the announcement in the first place. If RPM packages are being rebuilt and a new version of a package is published on the ftp server, all md5 sums for the files are useless.
  4. 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, where <file.rpm> is the filename of the rpm package that you have downloaded. Of course, package authenticity verification can only target an un-installed rpm package file. Prerequisites:
    1. gpg is installed
    2. The package is signed using a certain key. The public part of this key must be installed by the gpg program in the directory ~/.gnupg/ under the user's home directory who performs the signature verification (usually root). You can import the key that is used by SUSE in rpm packages for SUSE Linux by saving this announcement to a file ("announcement.txt") and running the command (do "su -" to be root): gpg --batch; gpg < announcement.txt | gpg --import SUSE Linux distributions version 7.1 and thereafter install the key "build@suse.de" upon installation or upgrade, provided that the package gpg is installed. The file containing the public key is placed at the top-level directory of the first CD (pubring.gpg) and at ftp://ftp.suse.com/pub/suse/pubring.gpg-build.suse.de .

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, it is desired that the clear-text signature shows proof of the authenticity of the text.
SUSE Linux AG makes 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>