Public Vulnerability Reports

Samba Arbitrary File Access Vulnerability

09.30.04

BACKGROUND

Samba is an Open Source/Free Software suite that provides seamless file
and print services to SMB/CIFS clients.

DESCRIPTION

Remote exploitation of an input validation vulnerability in Samba allows
attackers to access files and directories outside of the specified share
path.

Each file and directory name passed into Samba is converted and checked
with the functions unix_convert() and check_name(). The main purpose of
the unix_convert() routine is to convert names from the DOS namespace to
Unix namespace. It calls unix_clean_name(), which in turn removes double
slashes, leading './' characters and '..' directory-traversal
characters. check_name() does any final checks necessary to confirm the
validity of the converted filename and calls reduce_name(), which in
turn calls unix_clean_name() for a second time. The end result allows
for an attacker to specify the realpath of any file on the computer.

Example:
/./////etc is passed to unix_clean_name(). It becomes /.///etc. The
leading slash is then trimmed off to make .///etc. It is then passed to
unix_clean_name() again. The resulting string is /etc, which is an
absolute path on the system.

ANALYSIS

Successful exploitation allows remote attackers to bypass the specified
share restrictions to gain read, write and list access to files and
directories under the privileges of the user. In situations where a
public share is available, the attack can be performed by
unauthenticated attackers.

An attacker does not need exploit code to exploit this vulnerability.
The smbclient program can be used to request/write/list files using the
"get", "put" and "dir" commands, respectively.

DETECTION

iDEFENSE has confirmed that Samba versions 3.0.2 and 2.2.9 are
vulnerable. It is suspected that all versions of Samba are vulnerable.

WORKAROUND

Only allow trusted users/hosts to connect to samba shares.

VENDOR RESPONSE

Samba 2.2.12 upgrade for Samba 2.2.x:
http://us4.samba.org/samba/ftp/samba-2.2.12.tar.gz

Samba 3.0.5 patch:
http://us4.samba.org/samba/ftp/patches/security/samba-3.0.5-reduce_name.patch

Samba 3.0.7 is not vulnerable.

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the
names CAN-2004-0815 to these issues. This is a candidate for inclusion
in the CVE list (http://cve.mitre.org), which standardizes names for
security problems.

DISCLOSURE TIMELINE

09/22/2004   Initial vendor notification
09/22/2004   iDEFENSE clients notified
09/22/2004   Initial vendor response
09/30/2004   Coordinated public disclosure

CREDIT

Karol Wiesek is credited with this discovery.

Get paid for vulnerability research
http://www.idefense.com/poi/teams/vcp.jsp

LEGAL NOTICES

Copyright © 2004 Verisign, Inc.

Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDEFENSE. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please
email customerservice@idefense.com for permission.

Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,
this information.