===================================================================== CERT-Renater Note d'Information No. 2006/VULN289 _____________________________________________________________________ DATE : 01/06/2006 HARDWARE PLATFORM(S) : / OPERATING SYSTEM(S) : Systems running smbfs. ====================================================================== ============================================================================= 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 . 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 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 ====================================================================== ========================================================= Les serveurs de référence du CERT-Renater http://www.urec.fr/securite http://www.cru.fr/securite http://www.renater.fr ========================================================= + CERT-RENATER | tel : 01-53-94-20-44 + + 151 bd de l'Hopital | fax : 01-53-94-20-41 + + 75013 Paris | email: certsvp@renater.fr + =========================================================