s3: smbd: Fix a read after free if a chained SMB1 call goes async.
authorJeremy Allison <jra@samba.org>
Thu, 13 Jul 2017 19:06:58 +0000 (12:06 -0700)
committerJeremy Allison <jra@samba.org>
Sat, 15 Jul 2017 00:16:18 +0000 (02:16 +0200)
commit5fe76a5474823ed7602938a07c9c43226a7882a3
tree1371eaf50eb76238474330eee2cf4a36ca87757c
parent7f4e7cfd1b0bd917395c631a1a8195fffd13bbad
s3: smbd: Fix a read after free if a chained SMB1 call goes async.

Reported to the Samba Team by Yihan Lian <lianyihan@360.cn>, a security
researcher of Qihoo 360 GearTeam. Thanks a lot!

smb1_parse_chain() incorrectly used talloc_tos() for the memory
context of the chained smb1 requests. This gets freed between
requests so if a chained request goes async, the saved request
array also is freed, which causes a crash on resume.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12836

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/smbd/process.c