Archive of FreeBSD Security general posting, FreeBSD Security Advisory FreeBSD-SA-02:09.fstatfs

06/02/02, FreeBSD Security Advisory FreeBSD-SA-02:09.fstatfs
From: FreeBSD Security Advisories <security-advisories@FreeBSD.ORG>

Generated by MHonArc

CSIM Logo WelcomeCourses
Faculty, Student, Staff
Projects and reports
Conferences, workshop and seminars
Laboratories and reasearch facilities
Information related to CSIM
Information non-related to CSIM
Address, map, phone, etc.

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

To: FreeBSD Security Advisories <security-advisories@FreeBSD.ORG>
Subject: FreeBSD Security Advisory FreeBSD-SA-02:09.fstatfs
From: FreeBSD Security Advisories <security-advisories@FreeBSD.ORG>
Date: Wed, 6 Feb 2002 08:03:40 -0800 (PST)
List-archive: <> (Web Archive)
List-help: <mailto:majordomo@FreeBSD.ORG?subject=help> (List Instructions)
List-id: <freebsd-security-notifications.FreeBSD.ORG>
List-subscribe: <mailto:majordomo@FreeBSD.ORG?subject=subscribe%20freebsd-security-notifications>
List-unsubscribe: <mailto:majordomo@FreeBSD.ORG?subject=unsubscribe%20freebsd-security-notifications>
Reply-to: postmaster@FreeBSD.ORG
Sender: owner-freebsd-security-notifications@FreeBSD.ORG


FreeBSD-SA-02:09                                            Security Advisory
                                                                FreeBSD, Inc.

Topic:          fstatfs race condition may allow local denial of
                service via procfs

Category:       core
Module:         kernel
Announced:      2002-02-06
Credits:        Stefan Esser <>
Affects:        All released versions of FreeBSD prior to 4.5-RELEASE
Corrected:      2002-01-07 20:47:34 UTC (RELENG_4)
                2002-01-17 15:46:46 UTC (RELENG_4_4)
                2002-01-17 15:47:04 UTC (RELENG_4_3)
FreeBSD only:   YES

I.   Background

fstatfs() is a function that retrieves filesystem statistics in the
kernel.  procfs is the process filesystem, which presents a filesystem
interface to the system process table and associated data.

II.  Problem Description

A race condition existed where a file could be removed between calling
fstatfs() and the point where the file is accessed causing the file
descriptor to become invalid.  This may allow unprivileged local users
to cause a kernel panic.  Currently only the procfs filesystem is
known to be vulnerable.

III. Impact

On vulnerable FreeBSD systems where procfs is mounted, unprivileged
local users may be able to cause a kernel panic.

IV.  Workaround

Unmount all instances of the procfs filesystem using the umount(8)
command by performing the following as root:

# umount -f -a -t procfs

Disable the automatic mounting of all instances of procfs in
/etc/fstab, remove or comment out the line(s) of the following form:

proc                    /proc           procfs  rw              0       0

Note that unmounting procfs may have a negative impact on the
operation of the system: under older versions of FreeBSD it is
required for some aspects of the ps(1) command, and unmounting it may
also break use of userland inter-process debuggers such as gdb.  Other
installed binaries including emulated Linux binaries may require access
to procfs for correct operation.

V.   Solution

1) Upgrade your vulnerable FreeBSD system to 4.5-RELEASE or
4.5-STABLE, or the RELENG_4_5, RELENG_4_4, or RELENG_4_3 security
branches dated after their respective correction dates.

2) FreeBSD 4.x systems prior to the correction date:

The following patch has been verified to apply to all FreeBSD 4.x
releases dated prior to the correction date.  This patch may or may
not apply to older, unsupported releases of FreeBSD.

Download the patch and the detached PGP signature from the following
locations, and verify the signature using your PGP utility.

# fetch
# fetch

Execute the following commands as root:

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

If procfs is statically compiled into the kernel (i.e. the kernel
configuration file contains the line 'options PROCFS'), rebuild
and reinstall your kernel as described in and reboot the
system with the new kernel for the changes to take effect.

If procfs is dynamically loaded by KLD (use the kldstat command to
verify whether this is the case) and the system securelevel has not
been raised, the system can be patched at run-time without
requiring a reboot by the execution of the following commands after
patching the source as described above:

# cd /usr/src/sys/modules/procfs
# make depend && make all install
# umount -f -a -t procfs
# kldunload procfs
# kldload procfs
# mount -a -t procfs

VI.  Correction details

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

Path                                                             Revision
- -------------------------------------------------------------------------
  HEAD                                                              1.216
- -------------------------------------------------------------------------

VII. References

Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see


To Unsubscribe: send mail to
with "unsubscribe freebsd-security-notifications" in the body of the message

Previous message sorted by date: FreeBSD Security Advisory FreeBSD-SA-02:08.exec
Next message sorted by date: FreeBSD Ports Security Advisory FreeBSD-SA-02:10.rsync
Previous message sorted by thread: FreeBSD Security Advisory FreeBSD-SA-02:08.exec
Next message by thread: FreeBSD Ports Security Advisory FreeBSD-SA-02:10.rsync
Main Index
Thread Index

CSIM home pageWMailAccount managementCSIM LibraryNetwork test toolsSearch CSIM directories
Contact us: Olivier Nicole CSIM    SET    AIT Last update: Jan 2003