Multiple Vulnerabilities in Samba
Gentoo Linux Security Advisory
||GLSA 200404-21 / samba
||April 29, 2004
||April 29, 2004: 01
All supported architectures
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.
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.
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
Local users with access to the smbmount command may gain root access. Also,
arbitrary files may be overwritten using the smbprint script.
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
All users should update to the latest version of the Samba package.
The following commands will perform the upgrade:
Code Listing 3.1: Resolution
# 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
Code Listing 3.2: Resolution
# 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.