Adam Langley 9871417fb7 Fix memory leak from zero-length DTLS fragments.
The |pqueue_insert| function can fail if one attempts to insert a
duplicate sequence number. When handling a fragment of an out of
sequence message, |dtls1_process_out_of_seq_message| would not call
|dtls1_reassemble_fragment| if the fragment's length was zero. It would
then allocate a fresh fragment and attempt to insert it, but ignore the
return value, leaking the fragment.

This allows an attacker to exhaust the memory of a DTLS peer.

Fixes CVE-2014-3507

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2014-08-06 20:27:51 +01:00
..
2012-04-16 17:43:15 +00:00
2014-07-15 12:20:30 +01:00
2012-06-08 09:18:47 +00:00
2009-04-21 22:20:12 +00:00
2014-02-26 15:33:09 +00:00
2014-08-01 21:23:49 +01:00
2013-01-28 17:30:38 +00:00
2014-06-09 12:09:49 +01:00
2013-01-28 17:30:38 +00:00
2012-06-08 09:18:47 +00:00
2014-06-14 22:26:10 +01:00
2014-06-09 12:09:49 +01:00
2014-06-27 23:18:21 +01:00
2014-01-08 13:36:27 +00:00
2002-07-10 07:01:54 +00:00
2011-11-21 22:52:01 +00:00
2014-06-05 09:04:27 +01:00
2012-06-08 09:18:47 +00:00
2011-05-11 13:37:52 +00:00
2014-04-08 17:23:03 +01:00
2014-07-24 19:43:25 +01:00
2013-02-11 18:17:50 +00:00
2011-05-11 13:37:52 +00:00
2014-07-15 12:20:30 +01:00
2011-05-11 13:37:52 +00:00
2009-12-27 22:59:09 +00:00
2011-05-11 13:37:52 +00:00
2014-04-05 20:52:59 +01:00
2012-06-08 09:18:47 +00:00