Fix denial of service - memory corruption.
authorJeremy Allison <jra@samba.org>
Sun, 27 Feb 2011 16:58:06 +0000 (17:58 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 28 Feb 2011 13:43:59 +0000 (14:43 +0100)
commitb9c9874cdddfde5726c985b2154adee47597f77f
tree4a704a05ee9a8190a3aa90128c95db853f3ad1ff
parenta5b388fc5ea81868f09590e8b7674826315c348c
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 c3ad6eb506623435d3d9ce62d6f34ed1c960d4be)
17 files changed:
lib/tevent/tevent_select.c
lib/tevent/tevent_standard.c
nsswitch/libwbclient/wbc_async.c
nsswitch/wb_common.c
source3/client/client.c
source3/client/dnsbrowse.c
source3/lib/events.c
source3/lib/g_lock.c
source3/lib/packet.c
source3/lib/readline.c
source3/lib/select.c
source3/lib/util_sock.c
source3/libaddns/dnssock.c
source3/libsmb/nmblib.c
source3/nmbd/nmbd_packets.c
source3/utils/smbfilter.c
source3/winbindd/winbindd_dual.c