Fix denial of service - memory corruption.
authorKarolin Seeger <kseeger@samba.org>
Sun, 27 Feb 2011 17:28:29 +0000 (18:28 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 28 Feb 2011 13:57:56 +0000 (14:57 +0100)
commitc5f54ca7407893d325aae5c5e9ca0178a764913f
tree0693d9102f7c87bb3a82449667e9ba8d22145d5c
parentef95601e034617d12a9d9afee9dba67b0979b43c
Fix denial of service - memory corruption.

CVE-2011-0719

Fix bug #7949 (DoS in Winbind and smbd with many file descriptors open).

All current released versions of Samba are vulnerable to
a denial of service caused by memory corruption. Range
checks on file descriptors being used in the FD_SET macro
were not present allowing stack corruption. This can cause
the Samba code to crash or to loop attempting to select
on a bad file descriptor set.

A connection to a file share, or a local account is needed
to exploit this problem, either authenticated or unauthenticated
(guest connection).

Currently we do not believe this flaw is exploitable
beyond a crash or causing the code to loop, but on the
advice of our security reviewers we are releasing fixes
in case an exploit is discovered at a later date.
(cherry picked from commit 724e44eed299c618066dec411530aa9f156119ec)
20 files changed:
source/client/client.c
source/client/dnsbrowse.c
source/lib/events.c
source/lib/packet.c
source/lib/readline.c
source/lib/select.c
source/lib/util_sock.c
source/libaddns/dnssock.c
source/libsmb/nmblib.c
source/nmbd/nmbd_packets.c
source/nsswitch/wb_common.c
source/printing/printing.c
source/smbd/dnsregister.c
source/smbd/oplock.c
source/smbd/oplock_irix.c
source/smbd/process.c
source/smbd/server.c
source/utils/smbfilter.c
source/winbindd/winbindd.c
source/winbindd/winbindd_dual.c