summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-09-24 05:03:40 +0200
committerKarolin Seeger <kseeger@samba.org>2013-12-05 10:18:08 +0100
commit78b49899e75cd692c595bf1ce5ed4158a97673e6 (patch)
treecb76d75c5c0f9043189e2e6f605c097c0735222e /librpc
parentdbe7531564489869e10bdf5f611269ce1dcdf492 (diff)
downloadsamba-78b49899e75cd692c595bf1ce5ed4158a97673e6.tar.gz
CVE-2013-4408:librpc: check for invalid frag_len within dcerpc_read_ncacn_packet_done()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10185 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/rpc/dcerpc_util.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/librpc/rpc/dcerpc_util.c b/librpc/rpc/dcerpc_util.c
index de292c83669..458ecc544e5 100644
--- a/librpc/rpc/dcerpc_util.c
+++ b/librpc/rpc/dcerpc_util.c
@@ -292,6 +292,11 @@ static void dcerpc_read_ncacn_packet_done(struct tevent_req *subreq)
return;
}
+ if (state->pkt->frag_length != state->buffer.length) {
+ tevent_req_nterror(req, NT_STATUS_RPC_PROTOCOL_ERROR);
+ return;
+ }
+
tevent_req_done(req);
}