[samba] [CVE-2007-6015] remote buffer overflow vulnerability

Bug #175502 reported by disabled.user
254
Affects Status Importance Assigned to Milestone
samba (Gentoo Linux)
Fix Released
Critical
samba (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: samba

References:
[1] DSA-1427-1 (http://www.debian.org/security/2007/dsa-1427)
[2] CVE-2007-6015 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6015)

Quoting [1]:
"Alin Rad Pop discovered that Samba, a LanManager-like file and printer server for Unix, is vulnerable to a buffer overflow in the nmbd code which handles GETDC mailslot requests, which might lead to the execution of arbitrary code."

CVE References

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Secunia Research has discovered a vulnerability in Samba, which can be
exploited by malicious people to compromise a vulnerable system.

The vulnerability is caused due to a boundary error within the
"send_mailslot()" function. This can be exploited to cause a stack-based
buffer overflow with zero bytes via a specially crafted "SAMLOGON"
domain logon packet containing a username string placed at an odd offset
followed by an overly long GETDC string.

Successful exploitation allows execution of arbitrary code, but requires
that the "domain logon" option is enabled.

The vulnerability is confirmed in version 3.0.27a. Other versions may
also be affected.

Vulnerability Details:
----------------------

The buffer overflow is triggered by the call to "set_message()" in
nmbd/nmbd_packets.c at line 1895. The "set_message()" function will call
a "memset()" to zero on "dgram->data" + 35 with a length bigger than the
available 576-35 bytes for an overly long total length for the SAMLOGON
GETDC, username, workgroup, and local hostname.

The vulnerability would at first glance be only triggerable in certain
unusual configurations with an overly long local workgroup or hostname
due to the limitations in size of the NetBIOS Datagram packet (576
bytes). However if an empty (two zero bytes) Unicode username is placed
at an odd offset within the SAMLOGON request, the "pull_ucs2_pstring()"
function called at line 365 in nmbd/nmbd_processlogon.c will convert the
whole GETDC string following the username into ascuser, allowing the
buffer overflow to take place in standard configurations.

Exploitation:
-------------

Secunia Research has created a PoC for the vulnerability, which is
available upon request.

The vulnerability can also be reproduced by sending a SAMLOGON request
with an empty username placed at an odd offset and an overly long GETDC
string (around 250 bytes).

Closing comments:
-----------------

We have assigned this vulnerability Secunia advisory SA27760 and CVE
identifier CVE-2007-6015.

A preliminary disclosure date of 2007-12-05 10am CET has been set, where
the details will be publicly disclosed. However, we are naturally
prepared to push the disclosure date if you need more time to address
the vulnerability.

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Upstream is working on a patch.

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Created attachment 137917
CVE-2007-0615.patch

You know the drill, please do not commit, but add an updated ebuild to this bug, so it can get testing and be committed to straight stable at the release date.

Revision history for this message
In , dev-zero (dev-zero-gentoo-bugs) wrote :

Created attachment 137995
samba-3.0.27a-r1.ebuild

Sorry for the delay, I was really busy yesterday...

The patch needs to be renamed to 3.0.27a-CVE-2007-0615.patch

Besides the requested patch, the ebuild fixes the bugs #200132 ("typo in elog") and #199934 ("oneliner to remove +x bit from headers").

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Please test the attached ebuild and report back at this bug.

Target keywords : "alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86"

Adding Arch Security Liaisons:
  alpha : ferdy
  amd64 : welp
   hppa : jer
    ppc : dertobi123
  ppc64 : corsair
  sparc : ferdy
    x86 : tsunam

Revision history for this message
In , jer (jer-gentoo-bugs) wrote :

make test does its job right up to the SMBTORTURE4 tests. This isn't a regression though, and all else looks OK for HPPA.

Revision history for this message
In , welp (welp-gentoo-bugs) wrote :

Ditto for amd64.

Revision history for this message
In , corsair (corsair-gentoo-bugs) wrote :

looking as good on ppc64, too.

Revision history for this message
In , armin76 (armin76-gentoo-bugs) wrote :

Looks fine on alpha/ia64/sparc/x86

Revision history for this message
In , dertobi123 (dertobi123-gentoo-bugs) wrote :

looks good for ppc

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Please rename the patch to contain 6015 instead of 0615.

prestabled for all security supported arches. Tiziano, please prepare for a commit on Tuesday. The time is not confirmed yet.

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Samba folks will release their advisory at about 15 UTC and Secunia did not reply to the schedule question.

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

public now.

Revision history for this message
In , dev-zero (dev-zero-gentoo-bugs) wrote :

commited as 3.0.28 (as released by upstream, contains only the security update).

Revision history for this message
In , rbu (rbu-gentoo-bugs) wrote :

Arches, please test and mark stable net-fs/samba-3.0.28.
Target keywords : "alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86"
Already stabled : "alpha amd64 hppa ia64 ppc ppc64 sparc x86"
Missing keywords: "arm mips s390 sh"

Revision history for this message
In , py (py-gentoo-bugs) wrote :

GLSA 200712-10

Changed in samba:
status: Unknown → Fix Released
Revision history for this message
Chuck Short (zulcss) wrote :

Hello,

This patch has already been applied. Than you for your bug report.

Regards
chuck

Changed in samba:
status: New → Fix Released
Revision history for this message
In , pva (pva-gentoo-bugs) wrote :

Does not affect current (2008.0) release. Removing release.

Changed in samba (Gentoo Linux):
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.