FreeBSD Security Advisory FreeBSD-SA-06:16.smbfs: smbfs does not properly sanitize paths containing a backslash character; in particular the directory name '..\' is interpreted as the parent directory by the SMB/CIFS server, but smbfs handles it in the same manner as any other directory.
06d243f685293bae40f0260e0f5a4d6049010f7d1de0bccef6ae22041257bd2f
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-06:16.smbfs Security Advisory
The FreeBSD Project
Topic: smbfs chroot escape
Category: core
Module: smbfs
Announced: 2006-05-31
Credits: Mark Moseley
Affects: All FreeBSD releases.
Corrected: 2006-05-31 22:31:21 UTC (RELENG_6, 6.1-STABLE)
2006-05-31 22:31:42 UTC (RELENG_6_1, 6.1-RELEASE-p1)
2006-05-31 22:32:04 UTC (RELENG_6_0, 6.0-RELEASE-p8)
2006-05-31 22:32:22 UTC (RELENG_5, 5.5-STABLE)
2006-05-31 22:32:49 UTC (RELENG_5_5, 5.5-RELEASE-p1)
2006-05-31 22:33:17 UTC (RELENG_5_4, 5.4-RELEASE-p15)
2006-05-31 22:33:41 UTC (RELENG_5_3, 5.3-RELEASE-p30)
2006-05-31 22:34:32 UTC (RELENG_4, 4.11-STABLE)
2006-05-31 22:34:53 UTC (RELENG_4_11, 4.11-RELEASE-p18)
2006-05-31 22:35:32 UTC (RELENG_4_10, 4.10-RELEASE-p24)
CVE Name: CVE-2006-2654
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
smbfs is a network file-system used to access file servers using the
SMB/CIFS protocol. chroot(2) is system call designed to limit a
process's access to a particular subset of a file-system.
II. Problem Description
smbfs does not properly sanitize paths containing a backslash
character; in particular the directory name '..\' is interpreted as
the parent directory by the SMB/CIFS server, but smbfs handles it in
the same manner as any other directory.
III. Impact
When inside a chroot environment which resides on a smbfs mounted
file-system it is possible for an attacker to escape out of this
chroot to any other directory on the smbfs mounted file-system.
IV. Workaround
Mount the smbfs file-systems which need to be used with chroot on top,
in a way so the chroot directory is exactly on the mount point and not
a sub directory.
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_1, RELENG_6_0, RELENG_5_5, 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, 5.5, 6.0, and 6.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-06:16/smbfs.patch
# fetch http://security.FreeBSD.org/patches/SA-06:16/smbfs.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/fs/smbfs/smbfs_vnops.c 1.2.2.11
RELENG_4_11
src/UPDATING 1.73.2.91.2.19
src/sys/conf/newvers.sh 1.44.2.39.2.22
src/sys/fs/smbfs/smbfs_vnops.c 1.2.2.10.4.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.25
src/sys/conf/newvers.sh 1.44.2.34.2.26
src/sys/fs/smbfs/smbfs_vnops.c 1.2.2.10.2.1
RELENG_5
src/sys/fs/smbfs/smbfs_vnops.c 1.46.2.2
RELENG_5_5
src/UPDATING 1.342.2.35.2.1
src/sys/conf/newvers.sh 1.62.2.21.2.3
src/sys/fs/smbfs/smbfs_vnops.c 1.46.2.1.4.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.24
src/sys/conf/newvers.sh 1.62.2.18.2.20
src/sys/fs/smbfs/smbfs_vnops.c 1.46.2.1.2.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.33
src/sys/conf/newvers.sh 1.62.2.15.2.35
src/sys/fs/smbfs/smbfs_vnops.c 1.46.4.1
RELENG_6
src/sys/fs/smbfs/smbfs_vnops.c 1.61.2.2
RELENG_6_1
src/UPDATING 1.416.2.22.2.3
src/sys/conf/newvers.sh 1.69.2.11.2.3
src/sys/fs/smbfs/smbfs_vnops.c 1.61.2.1.2.1
RELENG_6_0
src/UPDATING 1.416.2.3.2.13
src/sys/conf/newvers.sh 1.69.2.8.2.9
src/sys/fs/smbfs/smbfs_vnops.c 1.61.4.1
- -------------------------------------------------------------------------
VII. References
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2654
The following three references correspond to independent bugs which
affect the Linux kernel but have the same impact:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1863
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1864
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189434
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-06:16.smbfs.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFEfhueFdaIBMps37IRAquuAJ0eCPAahUu19kdTjKpVHrrtQ9q16gCfZ5sC
xknjanFlpMxJAZ7iYSxBvcI=
=PvoL
-----END PGP SIGNATURE-----