USN-30-1: Linux kernel vulnerabilities
19 November 2004
Linux kernel vulnerabilities
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 machine-in-the-middle attacks or by taking over the Samba
server with e. g. the recently disclosed vulnerability in Samba 3.x
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
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
The problem can be corrected by updating your system to the following package versions:
In general, a standard system update will make all the necessary changes.