MDKSA-2001:037

Problem description

A number of security problems have been found in the Linux kernels
prior to the latest 2.2.19 kernel. Following is a list of problems
based on the 2.2.19 release notes as found on http://www.linux.org.uk/
- binfmt_misc used user pages directly
- the CPIA driver had an off-by-one error in the buffer code which made
it possible for users to write into kernel memory
- the CPUID and MSR drivers had a problem in the module unloading code
which could cause a system a crash if they were set to automatically
load and unload
- there was a possible hang in the classifier code
- the getsockopt and setsockopt system calls did not handle sign bits
correctly which made a local DoS and other attacks possible
- the sysctl system call did not handle sign bits correctly which
allowed a user to write in kernel memory
- ptrace/exec races that could give a local user extra privileges
- possible abuse of a boundary case in the sockfilter code
- SYSV shared memory code could overwrite recently freed memory which
might cause problems
- the packet lengh checks in the masquerading code were a bit lax
(probably not exploitable)
- some x86 assembly bugs caused the wrong number of bytes to be copied
- a local user could deadlock the kernel due to bugs in the UDP port
allocation.
All of these problems are corrected in the 2.2.19 kernel and it is
highly recommended that all Linux-Mandrake users upgrade their systems
to this kernel.
It is also recommended that you download the necessary RPMs and upgrade
manually by following these steps:
- type: rpm -ivh kernel-2.2.19-4.1mdk.i586.rpm
- type: mv kernel-2.2.19-4.1mdk.i586.rpm /tmp
- type: rpm -Fvh *.rpm
- type: mkinitrd -f --ifneeded /boot/initrd-2.2.19-4.1mdk 2.2.19-4.1mdk
- type: ln -sf /boot/initrd-2.2.19-4.1mdk /boot/initrd.img
- edit /etc/lilo.conf and double-check the options
- type: /sbin/lilo -v
Replace the kernel revision noted in the above instructions with those
from the packages you downloaded. You will then be able to reboot and
use the new kernel and remove the older kernel when you are comfortable
using the upgraded one.