SUSE Security Announcement: Linux Kernel (SuSE-SA:2004:003)

Posted by dave on Jan 15, 2004 10:43 AM EDT
Mailing list
Mail this story
Print this story

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.

-----BEGIN PGP SIGNED MESSAGE-----

______________________________________________________________________________

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:

SuSE-9.0: 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 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.

1) execute the command md5sum 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 [E-mail: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



  Nav
» Read more about: Story Type: Security; Groups: SUSE

« Return to the newswire homepage

This topic does not have any threads posted yet!

You cannot post until you login.