3571e53040
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)
160 lines
6.7 KiB
Text
160 lines
6.7 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-09:01.lukemftpd Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Cross-site request forgery in lukemftpd(8)
|
|
|
|
Category: core
|
|
Module: lukemftpd
|
|
Announced: 2009-01-07
|
|
Credits: Maksymilian Arciemowicz
|
|
Affects: All supported versions of FreeBSD.
|
|
Corrected: 2009-01-07 20:17:55 UTC (RELENG_7, 7.1-STABLE)
|
|
2009-01-07 20:17:55 UTC (RELENG_7_1, 7.1-RELEASE-p1)
|
|
2009-01-07 20:17:55 UTC (RELENG_7_0, 7.0-RELEASE-p8)
|
|
2009-01-07 20:17:55 UTC (RELENG_6, 6.4-STABLE)
|
|
2009-01-07 20:17:55 UTC (RELENG_6_4, 6.4-RELEASE-p2)
|
|
2009-01-07 20:17:55 UTC (RELENG_6_3, 6.3-RELEASE-p8)
|
|
CVE Name: CVE-2008-4247
|
|
|
|
For general information regarding FreeBSD Security Advisories,
|
|
including descriptions of the fields above, security branches, and the
|
|
following sections, please visit <URL:http://security.FreeBSD.org/>.
|
|
|
|
I. Background
|
|
|
|
lukemftpd(8) is a general-purpose implementation of File Transfer Protocol
|
|
(FTP) server that is shipped with the FreeBSD base system. It is not enabled
|
|
in default installations but can be enabled as either an inetd(8) server,
|
|
or a standard-alone server.
|
|
|
|
A cross-site request forgery attack is a type of malicious exploit that is
|
|
mainly targeted to a web browser, by tricking a user trusted by the site
|
|
into visiting a specially crafted URL, which in turn executes a command
|
|
which performs some privileged operations on behalf of the trusted user
|
|
on the victim site.
|
|
|
|
II. Problem Description
|
|
|
|
The lukemftpd(8) server splits long commands into several requests. This
|
|
may result in the server executing a command which is hidden inside
|
|
another very long command.
|
|
|
|
III. Impact
|
|
|
|
This could, with a specifically crafted command, be used in a
|
|
cross-site request forgery attack.
|
|
|
|
FreeBSD systems running lukemftpd(8) server could act as a point of privilege
|
|
escalation in an attack against users using web browser to access trusted
|
|
FTP sites.
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available, but systems not running FTP servers are
|
|
not vulnerable. Systems not running the FreeBSD lukemftpd(8) server are not
|
|
affected, but users of other ftp daemons are advised to take care since
|
|
several other ftp daemons are known to have related bugs.
|
|
|
|
NOTE WELL: lukemftpd(8) is a different implementation of an FTP server
|
|
than ftpd(8).
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 6-STABLE, or 7-STABLE, or to the
|
|
RELENG_7_1, RELENG_7_0, RELENG_6_4, or RELENG_6_3 security branch
|
|
dated after the correction date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patches have been verified to apply to FreeBSD 6.3, 6.4,
|
|
7.0, and 7.1 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/SA-09:01/lukemftpd.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:01/lukemftpd.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/libexec/lukemftpd
|
|
# 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.
|
|
|
|
CVS:
|
|
|
|
Branch Revision
|
|
Path
|
|
- -------------------------------------------------------------------------
|
|
RELENG_6
|
|
src/contrib/lukemftpd/src/ftpcmd.y 1.1.1.5.2.2
|
|
src/contrib/lukemftpd/src/extern.h 1.1.1.4.2.2
|
|
src/contrib/lukemftpd/src/ftpd.c 1.4.2.2
|
|
RELENG_6_4
|
|
src/UPDATING 1.416.2.40.2.5
|
|
src/sys/conf/newvers.sh 1.69.2.18.2.8
|
|
src/contrib/lukemftpd/src/ftpcmd.y 1.1.1.5.2.1.6.1
|
|
src/contrib/lukemftpd/src/extern.h 1.1.1.4.2.1.6.1
|
|
src/contrib/lukemftpd/src/ftpd.c 1.4.2.1.6.2
|
|
RELENG_6_3
|
|
src/UPDATING 1.416.2.37.2.13
|
|
src/sys/conf/newvers.sh 1.69.2.15.2.12
|
|
src/contrib/lukemftpd/src/ftpcmd.y 1.1.1.5.2.1.4.1
|
|
src/contrib/lukemftpd/src/extern.h 1.1.1.4.2.1.4.1
|
|
src/contrib/lukemftpd/src/ftpd.c 1.4.2.1.4.1
|
|
RELENG_7
|
|
src/contrib/lukemftpd/src/ftpcmd.y 1.1.1.6.2.1
|
|
src/contrib/lukemftpd/src/extern.h 1.1.1.5.2.1
|
|
src/contrib/lukemftpd/src/ftpd.c 1.5.2.1
|
|
RELENG_7_1
|
|
src/UPDATING 1.507.2.13.2.4
|
|
src/sys/conf/newvers.sh 1.72.2.9.2.5
|
|
src/contrib/lukemftpd/src/ftpcmd.y 1.1.1.6.6.1
|
|
src/contrib/lukemftpd/src/extern.h 1.1.1.5.6.1
|
|
src/contrib/lukemftpd/src/ftpd.c 1.5.6.2
|
|
RELENG_7_0
|
|
src/UPDATING 1.507.2.3.2.12
|
|
src/sys/conf/newvers.sh 1.72.2.5.2.12
|
|
src/contrib/lukemftpd/src/ftpcmd.y 1.1.1.6.4.1
|
|
src/contrib/lukemftpd/src/extern.h 1.1.1.5.4.1
|
|
src/contrib/lukemftpd/src/ftpd.c 1.5.4.1
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/6/ r186872
|
|
releng/6.4/ r186872
|
|
releng/6.3/ r186872
|
|
stable/7/ r186872
|
|
releng/7.1/ r186872
|
|
releng/7.0/ r186872
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4247
|
|
http://security.freebsd.org/advisories/FreeBSD-SA-08:12.ftpd.asc
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-09:01.lukemftpd.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.9 (FreeBSD)
|
|
|
|
iD8DBQFJZR5UFdaIBMps37IRApUJAKCEGZggeEjPC67j5Tmxl2fEDJ9sIQCfTAKn
|
|
vpOXC5jix3XiB7wxGKrvNJM=
|
|
=qPEc
|
|
-----END PGP SIGNATURE-----
|