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)
144 lines
5.5 KiB
Text
144 lines
5.5 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-06:12.opie Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: OPIE arbitrary password change
|
|
|
|
Category: contrib
|
|
Module: contrib_opie
|
|
Announced: 2006-03-22
|
|
Credits: Mykola Zubach
|
|
Affects: All FreeBSD releases.
|
|
Corrected: 2006-03-22 16:01:08 UTC (RELENG_6, 6.1-STABLE)
|
|
2006-03-22 16:01:38 UTC (RELENG_6_0, 6.0-RELEASE-p6)
|
|
2006-03-22 16:01:56 UTC (RELENG_5, 5.5-STABLE)
|
|
2006-03-22 16:02:17 UTC (RELENG_5_4, 5.4-RELEASE-p13)
|
|
2006-03-22 16:02:35 UTC (RELENG_5_3, 5.3-RELEASE-p28)
|
|
2006-03-22 16:02:49 UTC (RELENG_4, 4.11-STABLE)
|
|
2006-03-22 16:03:05 UTC (RELENG_4_11, 4.11-RELEASE-p16)
|
|
2006-03-22 16:03:25 UTC (RELENG_4_10, 4.10-RELEASE-p22)
|
|
CVE Name: CVE-2006-1283
|
|
|
|
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
|
|
|
|
OPIE is a one-time password system designed to help to secure a system
|
|
against replay attacks. It does so using a secure hash function and a
|
|
challenge/response system. The opiepasswd(1) program is used to set
|
|
up OPIE authentication for a user. OPIE is enabled by default on
|
|
FreeBSD through PAM.
|
|
|
|
II. Problem Description
|
|
|
|
The opiepasswd(1) program uses getlogin(2) to identify the user
|
|
calling opiepasswd(1). In some circumstances getlogin(2) will return
|
|
"root" even when running as an unprivileged user. This causes
|
|
opiepasswd(1) to allow an unpriviled user to configure OPIE
|
|
authentication for the root user.
|
|
|
|
III. Impact
|
|
|
|
In certain cases an attacker able to run commands as a non privileged
|
|
users which have not explicitly logged in, for example CGI scripts run
|
|
by a web server, is able to configure OPIE access for the root user.
|
|
If the attacker is able to authenticate as root using OPIE
|
|
authentication, for example if "PermitRootLogin" is set to "yes" in
|
|
sshd_config or the attacker has access to a local user in the "wheel"
|
|
group, the attacker can gain root privileges.
|
|
|
|
IV. Workaround
|
|
|
|
Disable OPIE authentication in PAM:
|
|
|
|
# sed -i "" -e /opie/s/^/#/ /etc/pam.d/*
|
|
|
|
or
|
|
|
|
Remove the setuid bit from opiepasswd:
|
|
|
|
# chflags noschg /usr/bin/opiepasswd
|
|
# chmod 555 /usr/bin/opiepasswd
|
|
# chflags schg /usr/bin/opiepasswd
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE,
|
|
or to the RELENG_6_0, RELENG_5_4, RELENG_5_3, RELENG_4_11, or
|
|
RELENG_4_10 security branch dated after the correction date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patches have been verified to apply to FreeBSD 4.10,
|
|
4.11, 5.3, 5.4, and 6.0 systems.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:12/opie.patch
|
|
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:12/opie.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/usr.bin/opiepasswd
|
|
# 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_4
|
|
src/contrib/opie/opiepasswd.c 1.1.1.2.6.4
|
|
RELENG_4_11
|
|
src/UPDATING 1.73.2.91.2.17
|
|
src/sys/conf/newvers.sh 1.44.2.39.2.20
|
|
src/contrib/opie/opiepasswd.c 1.1.1.2.6.3.10.1
|
|
RELENG_4_10
|
|
src/UPDATING 1.73.2.90.2.23
|
|
src/sys/conf/newvers.sh 1.33.2.34.2.24
|
|
src/contrib/opie/opiepasswd.c 1.1.1.2.6.3.8.1
|
|
RELENG_5
|
|
src/contrib/opie/opiepasswd.c 1.3.8.1
|
|
RELENG_5_4
|
|
src/UPDATING 1.342.2.24.2.22
|
|
src/sys/conf/newvers.sh 1.62.2.18.2.18
|
|
src/contrib/opie/opiepasswd.c 1.3.12.1
|
|
RELENG_5_3
|
|
src/UPDATING 1.342.2.13.2.31
|
|
src/sys/conf/newvers.sh 1.62.2.15.2.33
|
|
src/contrib/opie/opiepasswd.c 1.3.10.1
|
|
RELENG_6
|
|
src/contrib/opie/opiepasswd.c 1.3.14.1
|
|
RELENG_6_0
|
|
src/UPDATING 1.416.2.3.2.11
|
|
src/sys/conf/newvers.sh 1.69.2.8.2.7
|
|
src/contrib/opie/opiepasswd.c 1.3.16.1
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1283
|
|
|
|
The latest revision of this advisory is available at
|
|
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:12.opie.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.2.2 (FreeBSD)
|
|
|
|
iD8DBQFEIXZNFdaIBMps37IRAoChAJ9ZFa+7jKF11vpUOKxmh8FqcG3EXgCfYOqj
|
|
/M5ncIaa4gs6P9wihbZ1vZc=
|
|
=fccv
|
|
-----END PGP SIGNATURE-----
|