GLSA 200408-24: Linux Kernel: Multiple information leaks

Severity:normal
Title:Linux Kernel: Multiple information leaks
Date:08/25/2004
Bugs: #59378, #59769, #59905
ID:200408-24

Synopsis

Multiple information leaks have been found in the Linux kernel, allowing an attacker to obtain sensitive data which may be used for further exploitation of the system.

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.

Affected packages

Package Vulnerable Unaffected Architecture(s)
sys-kernel/aa-sources < 2.6.5-r5 >= 2.4.23-r2 All supported architectures
sys-kernel/alpha-sources < 2.4.21-r12 >= 2.4.21-r12 All supported architectures
sys-kernel/ck-sources < 2.6.7-r5 >= 2.4.26-r1 All supported architectures
sys-kernel/development-sources < 2.6.8 >= 2.6.8 All supported architectures
sys-kernel/gentoo-dev-sources < 2.6.7-r12 >= 2.6.7-r12 All supported architectures
sys-kernel/gentoo-sources < 2.4.26-r9 >= 2.4.19-r22 All supported architectures
sys-kernel/grsec-sources < 2.4.27.2.0.1-r1 >= 2.4.27.2.0.1-r1 All supported architectures
sys-kernel/gs-sources < 2.4.25_pre7-r11 >= 2.4.25_pre7-r11 All supported architectures
sys-kernel/hardened-dev-sources < 2.6.7-r7 >= 2.6.7-r7 All supported architectures
sys-kernel/hardened-sources < 2.4.27-r1 >= 2.4.27-r1 All supported architectures
sys-kernel/hppa-dev-sources < 2.6.7_p14-r1 >= 2.6.7_p14-r1 All supported architectures
sys-kernel/hppa-sources < 2.4.26_p7-r1 >= 2.4.26_p7-r1 All supported architectures
sys-kernel/ia64-sources < 2.4.24-r10 >= 2.4.24-r10 All supported architectures
sys-kernel/mips-sources < 2.6.6-r8 >= 2.4.25-r8 All supported architectures
sys-kernel/mm-sources < 2.6.8_rc4-r1 >= 2.6.8_rc4-r1 All supported architectures
sys-kernel/openmosix-sources < 2.4.24-r4 >= 2.4.24-r4 All supported architectures
sys-kernel/pac-sources < 2.4.23-r12 >= 2.4.23-r12 All supported architectures
sys-kernel/pegasos-dev-sources < 2.6.8 >= 2.6.8 All supported architectures
sys-kernel/rsbac-sources < 2.4.26-r5 >= 2.4.26-r5 All supported architectures
sys-kernel/rsbac-dev-sources < 2.6.7-r5 >= 2.6.7-r5 All supported architectures
sys-kernel/selinux-sources < 2.4.26-r3 >= 2.4.26-r3 All supported architectures
sys-kernel/sparc-sources < 2.4.27-r1 >= 2.4.27-r1 All supported architectures
sys-kernel/uclinux-sources < 2.6.7_p0-r5 >= 2.4.26_p0-r6 All supported architectures
sys-kernel/usermode-sources < 2.6.6-r6 >= 2.4.24-r9 All supported architectures
sys-kernel/vanilla-sources < 2.4.27 >= 2.4.27 All supported architectures
sys-kernel/vserver-sources < 2.4.26.1.28-r4 >= 2.0 All supported architectures
sys-kernel/win4lin-sources < 2.6.7-r5 >= 2.4.26-r6 All supported architectures
sys-kernel/wolk-sources < 4.14-r7 >= 4.9-r14 All supported architectures
sys-kernel/xbox-sources < 2.6.7-r5 >= 2.4.27-r1 All supported architectures

Description

The Linux kernel allows a local attacker to obtain sensitive kernel information by gaining access to kernel memory via several leaks in the /proc interfaces. These vulnerabilities exist in various drivers which make up a working Linux kernel, some of which are present across all architectures and configurations.

CAN-2004-0415 deals with addressing invalid 32 to 64 bit conversions in the kernel, as well as insecure direct access to file offset pointers in kernel code which can be modified by the open(...), lseek(...) and other core system I/O functions by an attacker.

CAN-2004-0685 deals with certain USB drivers using uninitialized structures and then using the copy_to_user(...) kernel call to copy these structures. This may leak uninitialized kernel memory, which can contain sensitive information from user applications.

Finally, a race condition with the /proc/.../cmdline node was found, allowing environment variables to be read while the process was still spawning. If the race is won, environment variables of the process, which might not be owned by the attacker, can be read.

Impact

These vulnerabilities allow a local unprivileged attacker to access segments of kernel memory or environment variables which may contain sensitive information. Kernel memory may contain passwords, data transferred between processes and any memory which applications did not clear upon exiting as well as the kernel cache and kernel buffers.

This information may be used to read sensitive data, open other attack vectors for further exploitation or cause a Denial of Service if the attacker can gain superuser access via the leaked information.

Workaround

There is no temporary workaround for any of these information leaks other than totally disabling /proc support - otherwise, a kernel upgrade is required. A list of unaffected kernels is provided along with this announcement.

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 normally.

References

Availability

This GLSA and any updates to it are available for viewing at the Gentoo Security Website: http://security.gentoo.org/glsa/glsa-200408-24.xml

Concerns?

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.

License

Copyright 2010 Gentoo Foundation, Inc; referenced text belongs to its owner(s). The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.

Thank you!