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
|