-----BEGIN PGP SIGNED MESSAGE-----
______________________________________________________________________________
SUSE Security Announcement
Package: Linux Kernel
Announcement-ID: SuSE-SA:2003:049
Date: Thursday, December 4th 2003 15:30 MET
Affected products: 7.3, 8.0, 8.1, 8.2, 9.0
SuSE Linux Enterprise Server 7,
SuSE Linux Database Server,
SuSE eMail Server III, 3.1
SuSE Linux Firewall on CD/Admin host
SuSE Linux Office Server
SuSE Linux Desktop 1.0
SuSE Linux School Server
Vulnerability Type: local root exploit
Severity (1-10): 8
SUSE default package: yes
Cross References: CAN-2003-0961
Content of this advisory:
1) security vulnerability resolved:
- Linux kernel brk() integer overflow
problem description, discussion, solution and upgrade information
2) pending vulnerabilities, solutions, workarounds:
- KDE
- mc
- apache1/2
- freeradius
- screen
- mod_gzip
- unace
3) standard appendix (further information)
______________________________________________________________________________
1) problem description, brief discussion, solution, upgrade information
This security update fixes a serious vulnerability in the Linux
kernel. A missing bounds check in the brk() system call allowed
processes to request memory beyond the maximum size allowed for tasks,
causing kernel memory to be mapped into the process' address space.
This allowed local attackers to obtain super user privileges.
An exploit for this vulnerability is circulating in the wild, and
has been used to compromise OpenSource development servers.
There is no temporary workaround for this bug.
This update also fixes several other security issues in the
kernel
- race condition with files opened via O_DIRECT which could
be exploited to read disk blocks randomly. This could include
blocks of previously deleted files with sensitive content.
- don't allow users to send signals to kmod
- when reading the RTC, don't leak kernel stack data to user space
SPECIAL INSTALL INSTRUCTIONS:
============================= The following paragraphs will guide you through the installation
process in a step-by-step fashion. The character sequence "****"
marks the beginning of a new paragraph. In some cases, you decide
if the paragraph is needed for you or not. Please read through all
of the steps down to the end. All of the commands that need to be
executed are required to be run as the superuser (root). Each step
relies on the steps before to complete successfully.
**** Step 1: Determine the needed kernel type
Please use the following command to find the kernel type that is
installed on your system:
rpm -qf /boot/vmlinuz
The following options are possible (disregarding the version and build
number following the name, separated by the "-" character):
k_deflt # default kernel, good for most systems.
k_i386 # kernel for older processors and chipsets
k_athlon # kernel made specifically for AMD Athlon(tm) family processors k_psmp # kernel for Pentium-I dual processor systems
k_smp # kernel for SMP systems (Pentium-II and above)
**** Step 2: Download the package for your system
Please download the kernel RPM package for your distribution with the
name starting as indicated by Step 1. The list of all kernel rpm
packages is appended below. Note: The kernel-source package does not
contain any binary kernel in bootable form. Instead, it contains the
sources that the binary kernel rpm packages are made from. It can be
used by administrators who have decided to build their own kernel.
Since the kernel-source.rpm is an installable (compiled) package that
contains sources for the linux kernel, it is not the source RPM for
the kernel RPM binary packages.
The kernel RPM binary packages for the distributions can be found at these
locations below .
7.3/kernel/2.4.18-20031204
8.0/kernel/2.4.18-20031204
8.1/rpm/i586
8.2/rpm/i586
9.0/rpm/i586
After downloading the kernel RPM package for your system, you should
verify the authenticity of the kernel rpm package using the methods as
listed in section 3) of each SUSE Security Announcement.
**** Step 3: Installing your kernel rpm package
Install the rpm package that you have downloaded in Steps 3 or 4 with
the command
rpm -Uhv --nodeps --force
where is the name of the rpm package that you downloaded.
Warning: After performing this step, your system will likely not be
able to boot if the following steps have not been fully
applied.
If you run SUSE LINUX 8.1 and haven't applied the previous
kernel update (SUSE-SA:2003:034), AND use the freeswan package,
you also need to update the freeswan rpm as a dependency as offered
by YOU (Yast Online Update). The package can be downloaded from
8.1/rpm/i586/
**** Step 4: configuring and creating the initrd
The initrd is a ramdisk that is being loaded into the memory of your
system together with the kernel boot image by the bootloader. The
kernel uses the content of this ramdisk to execute commands that must
be run before the kernel can mount its actual root filesystem. It is
usually used to initialize scsi drivers or NIC drivers for diskless
operation.
The variable INITRD_MODULES (set in the files /etc/rc.config up to
7.3) or /etc/sysconfig/kernel (after and including 8.0)) determines
which kernel modules will be loaded in the initrd before the kernel
has mounted its actual root filesystem. The variable should contain
your scsi adapter (if any) or filesystem driver modules.
With the installation of the new kernel, the initrd has to be
re-packed with the update kernel modules. Please run the command
mk_initrd
as root to create a new init rmadisk (initrd) for your system.
On SuSE Linux 8.1 and later, this is done automatically when the
RPM is installed.
**** Step 5: bootloader
If you have a 7.x system, you must now run the command
lilo
as root to initialize the lilo bootloader for your system. Then
proceed to the next step.
If you run a SUSE LINUX 8.x or a SLES8 system, there are two options:
Depending on your software configuration, you have the lilo bootloader
or the grub bootloader installed and initialized on your system.
The grub bootloader does not require any further actions to be
performed after the new kernel images have been moved in place by the
rpm Update command.
If you have a lilo bootloader installed and initialized, then the lilo
program must be run as root. Use the command
grep LOADER_TYPE /etc/sysconfig/bootloader
to find out which boot loader is configured. If it is lilo, then you
must run the lilo command as root. If grub is listed, then your system
does not require any bootloader initialization.
Warning: An improperly installed bootloader may render your system
unbootable.
**** Step 6: reboot
If all of the steps above have been successfully applied to your
system, then the new kernel including the kernel modules and the
initrd should be ready to boot. The system needs to be rebooted for
the changes to become active. Please make sure that all steps are
complete, then reboot using the command
shutdown -r now
or
init 6
Your system should now shut down and reboot with the new kernel.
Our maintenance customers are being notified individually. The packages
are being offered to install from the maintenance web.
Intel i386 Platform:
SuSE-9.0:
9.0/rpm/i586/k_deflt-2.4.21-144.i586.rpm
d93394dc68dc342c66554d4b004e8792
9.0/rpm/i586/k_smp-2.4.21-144.i586.rpm
d23f59681e504eece1ccd4cb582d0d56
9.0/rpm/i586/k_athlon-2.4.21-144.i586.rpm
78b33420df4405715502f9bbb97f1308
9.0/rpm/i586/kernel-source-2.4.21-144.i586.rpm
f4b477a1c368ae6dc9a9a6c579313b5e
patch rpm(s):
9.0/rpm/i586/kernel-source-2.4.21-144.i586.patch.rpm
38e64b2524825ac4011f53e06366221f
source rpm(s):
9.0/rpm/src/k_deflt-2.4.21-144.src.rpm
cfd352b5058ed763d264d7ce0b276738
9.0/rpm/src/k_smp-2.4.21-144.src.rpm
85d7dfacb641c806c6a3e37dc8c819c7
9.0/rpm/src/k_athlon-2.4.21-144.src.rpm
a2ed9a096c4767d665660514e7e18cd9
9.0/rpm/src/kernel-source-2.4.21-144.src.rpm
a9b3d40dc79cb2f1179661790a2a58ce
SuSE-8.2:
8.2/rpm/i586/k_deflt-2.4.20-101.i586.rpm
9a6363c54735fd3def6398300b091ad1
8.2/rpm/i586/k_smp-2.4.20-101.i586.rpm
31d4639f77dc256310d7f9fd28412d04
8.2/rpm/i586/k_athlon-2.4.20-101.i586.rpm
c0c7dd94b53400f609009344a6be76a8
163057fdee5c93159ba468903974e5b1
8.2/rpm/i586/kernel-source-2.4.20.SuSE-101.i586.rpm
f02867306164a2069a8e4e6cd7619626
patch rpm(s):
8.2/rpm/i586/kernel-source-2.4.20.SuSE-101.i586.patch.rpm
1483d734943e51650f135315cb2e0259
source rpm(s):
8.2/rpm/src/k_deflt-2.4.20-101.src.rpm
2bf8dcedc50ddcb9ebdd78427766da16
8.2/rpm/src/k_smp-2.4.20-101.src.rpm
6299ac0c8487037b19d272234994039e
8.2/rpm/src/k_athlon-2.4.20-101.src.rpm
c8bb2a49b6dcdc7377ef42ce5b6dc744
8.2/rpm/src/k_psmp-2.4.20-101.src.rpm
89b682414ea7cd774dfa5a5f26c87cf8
8.2/rpm/src/kernel-source-2.4.20.SuSE-101.src.rpm
9555f0b00bb9f178fc92ee8242743b42
SuSE-8.1:
8.1/rpm/i586/k_deflt-2.4.21-151.i586.rpm
bd095d26abf204779048356c12d207c8
8.1/rpm/i586/k_smp-2.4.21-151.i586.rpm
89346bae8dc2739ec4f03709deddb5ca
8.1/rpm/i586/k_athlon-2.4.21-151.i586.rpm
3a2054a5638f336b3642a2a2a20158b9
8.1/rpm/i586/k_psmp-2.4.21-151.i586.rpm
a7704a31f56bb3bdeba8a41f86d37e83
8.1/rpm/i586/kernel-source-2.4.21-151.i586.rpm
e671a94c8bd50deecaaaddbadbe60c13
patch rpm(s):
8.1/rpm/i586/kernel-source-2.4.21-151.i586.patch.rpm
76bef0adbc84af087505db768d62fc76
source rpm(s):
8.1/rpm/src/k_deflt-2.4.21-151.src.rpm
b22f8a756935574f77f86ce3004ccb28
8.1/rpm/src/k_smp-2.4.21-151.src.rpm
f20eb07a9450769c0f5821e76fa5b3f7
8.1/rpm/src/k_athlon-2.4.21-151.src.rpm
473e48c3e65b7720663102fc3673c36c
8.1/rpm/src/k_psmp-2.4.21-151.src.rpm
c6fc11acdfe2de62a3000f289f2ac7d4
8.1/rpm/src/kernel-source-2.4.21-151.src.rpm
cf82b7da893aeebc0ab5b399d2ac3788
SuSE-8.0:
8.0/images/k_deflt-2.4.18-281.i386.rpm
074142fcbba96e5f809853251b1db575
8.0/images/k_smp-2.4.18-281.i386.rpm
f7729ec9c4f07e237a4cbfa152fb7361
8.0/images/k_psmp-2.4.18-281.i386.rpm
1bd2a3b98237d9e28fbac962ad6d8963
8.0/images/k_i386-2.4.18-281.i386.rpm
f475516c5baf441e14da95032cfff8e8
8.0/d3/kernel-source-2.4.18.SuSE-281.i386.rpm
d562aade6a5e71121a1e45a561040f8d
patch rpm(s):
8.0/d3/kernel-source-2.4.18.SuSE-281.i386.patch.rpm
5322ae840e45d57236f966f644205c15
source rpm(s):
8.0/zq1/k_deflt-2.4.18-281.src.rpm
441cc1ea08b7a60fd9a97750a332383f
8.0/zq1/k_smp-2.4.18-281.src.rpm
7eae63f8270182f208498a7e0709e2c7
8.0/zq1/k_psmp-2.4.18-281.src.rpm
b6dc4ee7bd7bb682e87cace4efe3562a
8.0/zq1/k_i386-2.4.18-281.src.rpm
e16d47d6ed67a2f2b480761b287ac83e
8.0/zq1/kernel-source-2.4.18.SuSE-281.nosrc.rpm
831d45effd5d0bc74089b49ab1c46fc3
SuSE-7.3:
7.3/kernel/2.4.18-20031204/k_deflt-2.4.18-281.i386.rpm
074142fcbba96e5f809853251b1db575
7.3/kernel/2.4.18-20031204/k_smp-2.4.18-281.i386.rpm
f7729ec9c4f07e237a4cbfa152fb7361
7.3/kernel/2.4.18-20031204/k_psmp-2.4.18-281.i386.rpm
1bd2a3b98237d9e28fbac962ad6d8963
7.3/kernel/2.4.18-20031204/k_i386-2.4.18-281.i386.rpm
f475516c5baf441e14da95032cfff8e8
7.3/kernel/2.4.18-20031204/kernel-source-2.4.18.SuSE-281.i386.rpm
d562aade6a5e71121a1e45a561040f8d
Opteron x86_64 Platform:
SuSE-9.0:
49833239e39258eb90441d8c724250cd
1fdab1fb0bd48487404ca8860eba5481
c179dfaa4a6d5f7955a0df918eb82ab8
patch rpm(s):
e4b45d0fe82735f94477cfbd9dbb124d
source rpm(s):
c0fe06d2767b6f55e2065ddecd4f218a
b86014666e0de02b1903578d6a5bb670
8e7668febd1dda675b516212e1704716
______________________________________________________________________________
2) Pending vulnerabilities in SUSE Distributions and Workarounds:
- KDE
New KDE packages are currently being tested. These packages fixes
several vulnerabilities:
+ remote root compromise (CAN-2003-0690)
+ weak cookies (CAN-2003-0692)
+ SSL man-in-the-middle attack
+ information leak through HTML-referrer (CAN-2003-0459)
+ wrong file permissions of config files
The packages will be release as soon as testing is finished.
- 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 are currently tested and will be release as soon as
possible.
- apache1/2
The widely used HTTP server apache has several security vulnerabilities:
- locally exploitable buffer overflow in the regular expression code.
The attacker must be able to modify .htaccess or httpd.conf.
(affects: mod_alias and mod_rewrite)
- under some circumstances mod_cgid will output its data to the
wrong client (affects: apache2)
Update packages are available on our FTP servers.
- freeradius
Two vulnerabilities were found in the FreeRADIUS package.
The remote denial-of-service attack bug was fixed and new packages
will be released as soon as testing was successfully finished.
The other bug is a remote buffer overflow in the module rlm_smb.
We do not ship this module and will fix it for future releases.
- screen
A buffer overflow in screen was reported. Since SuSE Linux 8.0
we do not ship screen with the s-bit anymore. An update package
will be released for 7.3 as soon as possible.
- mod_gzip
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.
- unace
The tool unace for handling the archive format ACE is vulnerable to
a buffer overflow that can be triggered with long file-names as command
line argument. This only affects unace version 2.5. Unfortunately this
tool is provided closed source only from the author. Therefore we are
unable to check for other bugs or look at the patch.
Update packages are available from our FTP servers.
______________________________________________________________________________
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 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.
2) rpm package signatures provide an easy way to verify the authenticity
of an rpm package. Use the command
rpm -v --checksig
to verify the signature of the package, where 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:
a) gpg is installed
b) 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 .
- SUSE runs two security mailing lists to which any interested party may
subscribe:
suse-security@suse.com
- general/linux/SUSE security discussion.
All SUSE security announcements are sent to this list.
To subscribe, send an email to
.
suse-security-announce@suse.com
- SUSE's announce-only mailing list.
Only SUSE's security announcements are sent to this list.
To subscribe, send an email to
.
For general information or the frequently asked questions (faq)
send mail to:
or
respectively.
==================================================================== SUSE's security contact is or .
The public key is listed below.
====================================================================