CVE-2007-2447: Remote Command Injection Vulnerability

== Subject:     Remote Command Injection Vulnerability
== CVE ID#:     CVE-2007-2447
== Versions:    Samba 3.0.0 - 3.0.25rc3 (inclusive)
== Summary:     Unescaped user input parameters are passed
==              as arguments to /bin/sh allowing for remote
==              command execution


This bug was originally reported against the anonymous calls
to the SamrChangePassword() MS-RPC function in combination
with the "username map script" smb.conf option (which is not
enabled by default).

After further investigation by Samba developers, it was
determined that the problem was much broader and impacts
remote printer and file share management as well.  The root
cause is passing unfiltered user input provided via MS-RPC
calls to /bin/sh when invoking externals scripts defined
in smb.conf.  However, unlike the "username map script"
vulnerability, the remote file and printer management scripts
require an authenticated user session.

Patch Availability

A patch against Samba 3.0.24 has been posted at


This defect may be alleviated by removing all defined
external script invocations (username map script, add
printer command, etc...) from smb.conf.

The Samba Team always encourages users to run the latest
stable release as a defense against attacks.  If this
is not immediately possible, administrators should read
the "Server Security" documentation found at


This vulnerability was  discovered by an anonymous researcher
and reported to Samba developers by Joshua J. Drake, iDefense
Labs (, as part of their Vulnerability
Contributor Program.

The time line is as follows:

* May 7, 2007: Initial defect disclosure to the
  email alias.
* May 7, 2007: Initial developer response by Samba
  developer Gerald Carter.
* May 9, 2007: Patch released by Samba developer Jeremy
  Allison to iDefense for testing.
* May 10, Announcement to vendor-sec mailing list
* May 14, 2007: Public announcement of the security issue.

== Our Code, Our Bugs, Our Responsibility.
== The Samba Team