Multiple Vulnerabilities in Samba — GLSA 200404-21

There is a bug in smbfs which may allow local users to gain root via a setuid file on a mounted Samba share. Also, there is a tmpfile symlink vulnerability in the smbprint script distributed with Samba.

Affected Packages

net-fs/samba on all architectures
Affected versions <= 3.0.2a
Unaffected versions >= 3.0.2a-r2

Background

Samba is a package which allows UNIX systems to act as file servers for Windows computers. It also allows UNIX systems to mount shares exported by a Samba/CIFS/Windows server. smbmount is a program in the Samba package which allows normal users on a UNIX system to mount remote shares. smbprint is an example script included in the Samba package which can be used to facilitate network printing.

Description

Two vulnerabilities have been discovered in Samba. The first vulnerability allows a local user who has access to the smbmount command to gain root. An attacker could place a setuid-root binary on a Samba share/server he or she controls, and then use the smbmount command to mount the share on the target UNIX box. The remote Samba server must support UNIX extensions for this to work. This has been fixed in version 3.0.2a.

The second vulnerability is in the smbprint script. By creating a symlink from /tmp/smbprint.log, an attacker could cause the smbprint script to write to an arbitrary file on the system. This has been fixed in version 3.0.2a-r2.

Impact

Local users with access to the smbmount command may gain root access. Also, arbitrary files may be overwritten using the smbprint script.

Workaround

To workaround the setuid bug, remove the setuid bits from the /usr/bin/smbmnt, /usr/bin/smbumount and /usr/bin/mount.cifs binaries. However, please note that this workaround will prevent ordinary users from mounting remote SMB and CIFS shares.

To work around the smbprint vulnerability, set "debug=no" in the smbprint configuration.

Resolution

All users should update to the latest version of the Samba package.

The following commands will perform the upgrade:

 # emerge sync

 # emerge -pv ">=net-fs/samba-3.0.2a-r2"
 # emerge ">=net-fs/samba-3.0.2a-r2"

Those who are using Samba's password database also need to run the following command:

 # pdbedit --force-initialized-passwords

Those using LDAP for Samba passwords also need to check the sambaPwdLastSet attribute on each account, and ensure it is not 0.

References

Release Date
April 29, 2004

Latest Revision
April 29, 2004: 01

Severity
normal

Exploitable
local

Bugzilla entries