Multiple vulnerabilities have been found in the Linux kernel used by
GNU/Linux systems. Patched, or updated versions of these kernels have been
released and details are included in this advisory.
Background
The Linux kernel is responsible for managing the core aspects of a
GNU/Linux system, providing an interface for core system applications
as well as providing the essential structure and capability to access
hardware that is needed for a running system.
Multiple flaws have been discovered in the Linux kernel. This advisory
corrects the following issues:
CAN-2004-0109: This vulnerability allows privilege escalation using
ISO9660 file systems through a buffer overflow via a malformed file
system containing a long symbolic link entry. This can allow arbitrary
code execution at kernel level.
CAN-2004-0133: The XFS file system in 2.4 series kernels has an
information leak by which data in the memory can be written to the
device hosting the file system, allowing users to obtain portions of
kernel memory by reading the raw block device.
CAN-2004-0177: The ext3 file system in 2.4 series kernels does not
properly initialize journal descriptor blocks, causing an information
leak by which data in the memory can be written to the device hosting
the file system, allowing users to obtain portions of kernel memory by
reading the raw device.
CAN-2004-0181: The JFS file system in 2.4 series kernels has an
information leak by which data in the memory can be written to the
device hosting the file system, allowing users to obtain portions of
kernel memory by reading the raw device.
CAN-2004-0178: The OSS Sound Blaster [R] Driver has a Denial of Service
vulnerability since it does not handle certain sample sizes properly.
This allows local users to hang the kernel.
CAN-2004-0228: Due to an integer signedness error in the CPUFreq /proc
handler code in 2.6 series Linux kernels, local users can escalate
their privileges.
CAN-2004-0229: The framebuffer driver in 2.6 series kernel drivers does
not use the fb_copy_cmap method of copying structures. The impact of
this issue is unknown, however.
CAN-2004-0394: A buffer overflow in the panic() function of 2.4 series
Linux kernels exists, but it may not be exploitable under normal
circumstances due to its functionality.
CAN-2004-0427: The do_fork() function in both 2.4 and 2.6 series Linux
kernels does not properly decrement the mm_count counter when an error
occurs, triggering a memory leak that allows local users to cause a
Denial of Service by exhausting other applications of memory; causing
the kernel to panic or to kill services.
CAN-2004-0495: Multiple vulnerabilities found by the Sparse source
checker in the kernel allow local users to escalate their privileges or
gain access to kernel memory.
CAN-2004-0535: The e1000 NIC driver does not properly initialize memory
structures before using them, allowing users to read kernel memory.
CAN-2004-0554: 2.4 and 2.6 series kernels running on an x86 or an AMD64
architecture allow local users to cause a Denial of Service by a total
system hang, due to an infinite loop that triggers a signal handler
with a certain sequence of fsave and frstor instructions.
Local DoS in PaX: If ASLR is enabled as a GRSecurity PaX feature, a
Denial of Service can be achieved by putting the kernel into an
infinite loop. Only 2.6 series GRSecurity kernels are affected by this
issue.
RSBAC 1.2.3 JAIL issues: A flaw in the RSBAC JAIL implementation allows
suid/sgid files to be created inside the jail since the relevant module
does not check the corresponding mode values. This can allow privilege
escalation inside the jail. Only rsbac-(dev-)sources are affected by
this issue.
Impact
Arbitrary code with normal non-super-user privileges may be able to
exploit any of these vulnerabilities; gaining kernel level access to
memory structures and hardware devices. This may be used for further
exploitation of the system, to leak sensitive data or to cause a Denial
of Service on the affected kernel.
Workaround
Although users may not be affected by certain vulnerabilities, all
kernels are affected by the CAN-2004-0394, CAN-2004-0427 and
CAN-2004-0554 issues which have no workaround. As a result, all users
are urged to upgrade their kernels to patched versions.
Resolution
Users are encouraged to upgrade to the latest available sources for
their system:
# emerge sync
# emerge -pv your-favorite-sources
# emerge your-favorite-sources
# # Follow usual procedure for compiling and installing a kernel.
# # If you use genkernel, run genkernel as you would do normally.
Security is a primary focus of Gentoo Linux and ensuring the confidentiality and security of our users machines is of utmost importance to us. Any security concerns should be addressed to security@gentoo.org or alternatively, you may file a bug at https://bugs.gentoo.org.