lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20040701080343.01C9BB860@dwp.des.no>
Date: Thu,  1 Jul 2004 10:03:43 +0200 (CEST)
From: FreeBSD Security Advisories <security-advisories@...ebsd.org>
To: Bugtraq <bugtraq@...urityfocus.com>
Subject: FreeBSD Security Advisory FreeBSD-SA-04:13.linux


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=============================================================================
FreeBSD-SA-04:13.linux                                      Security Advisory
                                                          The FreeBSD Project

Topic:          Linux binary compatibility mode input validation error

Category:       core
Module:         kernel
Announced:      2004-06-30
Credits:        Tim Robbins
Affects:        All 4.x and 5.x releases
Corrected:      2004-06-30 17:31:44 UTC (RELENG_4)
                2004-06-30 17:34:38 UTC (RELENG_5_2, 5.2.1-RELEASE-p9)
                2004-06-30 17:33:59 UTC (RELENG_4_10, 4.10-RELEASE-p2)
                2004-06-30 17:33:24 UTC (RELENG_4_9, 4.9-RELEASE-p11)
                2004-06-30 17:32:24 UTC (RELENG_4_8, 4.8-RELEASE-p24)
CVE Name:       CAN-2004-0602
FreeBSD only:   YES

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
<URL:http://www.freebsd.org/security/>.

I.   Background

FreeBSD is binary-compatible with the Linux operating system through a
loadable kernel module/optional kernel component.

II.  Problem Description

A programming error in the handling of some Linux system calls may
result in memory locations being accessed without proper validation.

III. Impact

It may be possible for a local attacker to read and/or overwrite
portions of kernel memory, resulting in disclosure of sensitive
information or potential privilege escalation.  A local attacker can
cause a system panic.

IV.  Workaround

The only known workaround is to disable the linux binary compatibility 
layer and prevent it from being (re)loaded.  Note that step (a) must be
performed before step (b).

a) To prevent the linux compatibility layer being (re)loaded, remove the
/boot/kernel/linux.ko file (on FreeBSD 5.x) or the /modules/linux.ko
file (on FreeBSD 4.x), and add or change the following line in
/etc/rc.conf:

linux_enable="NO"       # Linux binary compatibility loaded at startup (or NO).

Add or change the following lines in /boot/loader.conf:

linux_load="NO"                 # Linux emulation
linprocfs_load="NO"

In addition, remove any linprocfs file system listed in /etc/fstab.

b) To disable the linux binary compatibility layer, first determine if
it is loaded:

# kldstat -v | grep linuxelf

If no output is produced, the linux compatibility layer is not loaded;
stop here.

If the linux compatibility layer is loaded, determine if it is compiled
into the kernel or loaded as a module:

# kldstat | grep linux.ko

If no output is produced, the linux compatibility layer is compiled
into the kernel.  Remove the line

options         COMPAT_LINUX

from your kernel configuration file and recompile the kernel as
described in 
<URL:http://www.freebsd.org/handbook/kernelconfig.html> and reboot the
system.

If output is produced, then the linux compatibility layer is loaded as
a kernel module.  If the module is not currently being used (by a
process running under linux emulation, for example) then it may be
possible to unload it:

# kldunload linux
# kldstat | grep linux.ko

If this does not successfully unload the module, reboot the system.

V.   Solution

Perform one of the following:

1) Upgrade your vulnerable system to 4-STABLE; or to the RELENG_5_2,
RELENG_4_10, RELENG_4_9, or RELENG_4_8 security branch dated after the
correction date.

2) To patch your present system:

The following patches have been verified to apply to FreeBSD 4.8, 4.9,
4.10 and 5.2 systems.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

[FreeBSD 5.2]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:13/linux5.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:13/linux5.patch.asc

[FreeBSD 4.8, 4.9, 4.10]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:13/linux4.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:13/linux4.patch.asc

b) Apply the patch.

# cd /usr/src
# patch < /path/to/patch

c) Recompile your kernel as described in
<URL:http://www.freebsd.org/handbook/kernelconfig.html> and reboot the
system.

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Branch                                                           Revision
  Path
- -------------------------------------------------------------------------
RELENG_4
  src/sys/compat/linux/linux_ioctl.c                            1.55.2.13
RELENG_5_2
  src/UPDATING                                                 1.282.2.17
  src/sys/compat/linux/linux_ioctl.c                            1.112.2.1
  src/sys/conf/newvers.sh                                       1.56.2.16
RELENG_4_10
  src/UPDATING                                              1.73.2.90.2.3
  src/sys/compat/linux/linux_ioctl.c                        1.55.2.12.4.1
  src/sys/conf/newvers.sh                                   1.44.2.34.2.4
RELENG_4_9
  src/UPDATING                                             1.73.2.89.2.12
  src/sys/compat/linux/linux_ioctl.c                        1.55.2.12.2.1
  src/sys/conf/newvers.sh                                  1.44.2.32.2.12
RELENG_4_8
  src/UPDATING                                             1.73.2.80.2.27
  src/sys/compat/linux/linux_ioctl.c                        1.55.2.10.6.1
  src/sys/conf/newvers.sh                                  1.44.2.29.2.25
- -------------------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFA48FqFdaIBMps37IRArpeAKCP1G1bFmYiD0v3Qdg8pq5zkV7JywCcDUHn
dz5yJTOovQSmIaLVD/Ei8Xw=
=SVrJ
-----END PGP SIGNATURE-----


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ