doc/share/security/advisories/FreeBSD-EN-08:01.libpthread.asc
Bjoern A. Zeeb 3571e53040 Import FreeBSD Security Advisories and Errata Notices, as well as their
patches for easier mirroring, to eliminate a special copy, to make
www.freebsd.org/security a full copy of security.freebsd.org and be
eventually be the same.

For now files are just sitting there.   The symlinks are missing.

Discussed on:	www (repository location)
Discussed with:	simon (so)
2012-08-15 06:19:40 +00:00

99 lines
3.4 KiB
Text

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-EN-08:01.libpthread Errata Notice
The FreeBSD Project
Topic: Problems with fork(2) within threaded programs
Category: core
Module: libpthread
Announced: 2008-04-17
Credits: Julian Elischer, Dan Eischen
Affects: FreeBSD 6.3
Corrected: 2008-02-04 20:05:20 UTC (RELENG_6, 6.3-STABLE)
2008-04-16 23:59:48 UTC (RELENG_6_3, 6.3-RELEASE-p2)
For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit
<URL:http://security.freebsd.org/>.
I. Background
POSIX threads are a set of functions that support applications with
requirements for multiple flows of control, called threads, within a
process. The fork(2) system call is used to create a new process.
II. Problem Description
The libpthread threading library on FreeBSD 6.3 fails to properly
reinitialize mutexes when a threaded process invokes fork(2).
III. Impact
After the fork(2) system returns, the newly created child process may
freeze in user space for no apparent reason. This affects any threaded
application that invokes fork(2), most frequently those that call
fork(2) before execve(2) or system(3) to run external programs.
IV. Workaround
On some systems, using libthr instead of libpthread, via the libmap
configuration file libmap.conf(5), may be an acceptable workaround.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 6-STABLE or the RELENG_6_3
security branch dated after the correction date.
2) To patch your present system:
The following patch has been verified to apply to FreeBSD 6.3 systems:
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/EN-08:01/libpthread.patch
# fetch http://security.FreeBSD.org/patches/EN-08:01/libpthread.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libpthread
# make obj && make depend && make && make install
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_6
src/lib/libpthread/sys/lock.c 1.9.2.2
src/lib/libpthread/thread/thr_kern.c 1.116.2.2
RELENG_6_3
src/UPDATING 1.416.2.37.2.6
src/sys/conf/newvers.sh 1.69.2.15.2.5
src/lib/libpthread/sys/lock.c 1.9.2.1.8.1
src/lib/libpthread/thread/thr_kern.c 1.116.2.1.6.1
- -------------------------------------------------------------------------
VII. References
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-EN-08:01.libpthread.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)
iD8DBQFIBpWeFdaIBMps37IRAg2wAJ9jwXi2ZTaYXBdsU6CzS8dCzsQ5cwCcD2Fu
NCao693yWJo1bJrCrrbG8Ww=
=7mo1
-----END PGP SIGNATURE-----