USN-30-1: Linux kernel vulnerabilities
19 November 2004
A security issue affects these releases of Ubuntu and its derivatives:
- Ubuntu 4.10
During an audit of the smb file system implementation within Linux, several vulnerabilities were discovered ranging from out of bounds read accesses to kernel level buffer overflows.
To exploit any of these vulnerabilities, an attacker needs control over the answers of the connected Samba server. This could be achieved by man-in-the-middle attacks or by taking over the Samba server with e. g. the recently disclosed vulnerability in Samba 3.x (see CAN-2004-0882).
While any of these vulnerabilities can be easily used as remote denial of service exploits against Linux systems, it is unclear if it is possible for a skilled local or remote attacker to use any of the possible buffer overflows for arbitrary code execution in kernel space. So these bugs may theoretically lead to privilege escalation and total compromise of the whole system.
Several flaws have been found in the Linux ELF binary loader’s handling of setuid binaries. Nowadays ELF is the standard format for Linux executables and libraries. setuid binaries are programs that have the “setuid” file permission bit set; they allow to execute a program under a user id different from the calling user and are mostly used to allow executing a program with root privileges to normal users.
The vulnerabilities that were fixed in these updated kernel packages could lead Denial of Service attacks. They also might lead to execution of arbitrary code and privilege escalation on some platforms if an attacker is able to run setuid programs under some special system conditions (like very little remaining memory).
Another flaw could allow an attacker to read supposedly unreadable, but executable suid binaries. The attacker can then use this to seek faults within the executable.
Bernard Gagnon discovered a memory leak in the mmap raw packet socket implementation. When a client application (in ELF format) core dumps, a region of memory stays allocated as a ring buffer. This could be exploited by a malicious user who repeatedly crashes certain types of applications until the memory is exhausted, thus causing a Denial of Service.
Reverted 486 emulation patch:
Ubuntu kernels for the i386 platforms are compiled using the i486 instruction set for performance reasons. Former Ubuntu kernels contained code which emulated the missing instructions on real 386 processors. However, several actual and potential security flaws have been discovered in the code, and it was found to be unsupportable. It might be possible to exploit these vulnerabilities also on i486 and higher processors.
Therefore support for real i386 processors has ceased. This updated kernel will only run on i486 and newer processors.
Other architectures supported by Ubuntu (amd64, powerpc) are not affected.
The problem can be corrected by updating your system to the following package versions:
- Ubuntu 4.10
To update your system, please follow these instructions: https://wiki.ubuntu.com/Security/Upgrades.