atom feed1 message in org.freebsd.freebsd-securityFreeBSD Security Advisory FreeBSD-SA-...
FromSent OnAttachments
FreeBSD Security AdvisoriesMay 31, 2006 3:51 pm 
Subject:FreeBSD Security Advisory FreeBSD-SA-06:16.smbfs
From:FreeBSD Security Advisories (
Date:May 31, 2006 3:51:42 pm


============================================================================= 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:>.

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 # fetch

b) Apply the patch.

# cd /usr/src # patch < /path/to/patch

c) Recompile your kernel as described in <URL:> 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 RELENG_4_11 src/UPDATING src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c RELENG_4_10 src/UPDATING src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c RELENG_5 src/sys/fs/smbfs/smbfs_vnops.c RELENG_5_5 src/UPDATING 1.342. src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c RELENG_5_4 src/UPDATING 1.342. src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c RELENG_5_3 src/UPDATING 1.342. src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c RELENG_6 src/sys/fs/smbfs/smbfs_vnops.c RELENG_6_1 src/UPDATING 1.416. src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c RELENG_6_0 src/UPDATING 1.416. src/sys/conf/ src/sys/fs/smbfs/smbfs_vnops.c - -------------------------------------------------------------------------

VII. References

The following three references correspond to independent bugs which affect the Linux kernel but have the same impact:

The latest revision of this advisory is available at -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEfhueFdaIBMps37IRAquuAJ0eCPAahUu19kdTjKpVHrrtQ9q16gCfZ5sC xknjanFlpMxJAZ7iYSxBvcI= =PvoL -----END PGP SIGNATURE-----