Matt Caswell fc7804ec39 Fix DTLS handshake message size checks.
In |dtls1_reassemble_fragment|, the value of
|msg_hdr->frag_off+frag_len| was being checked against the maximum
handshake message size, but then |msg_len| bytes were allocated for the
fragment buffer. This means that so long as the fragment was within the
allowed size, the pending handshake message could consume 16MB + 2MB
(for the reassembly bitmap). Approx 10 outstanding handshake messages
are allowed, meaning that an attacker could consume ~180MB per DTLS
connection.

In the non-fragmented path (in |dtls1_process_out_of_seq_message|), no
check was applied.

Fixes CVE-2014-3506

Wholly based on patch by Adam Langley with one minor amendment.

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