Matt Caswell 338a5e7e54 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 22:02:00 +01:00
..
2011-05-25 15:15:43 +00:00
2012-03-06 13:20:20 +00:00
2010-04-14 00:17:12 +00:00
2013-02-05 16:50:36 +00:00
2013-02-05 16:50:32 +00:00
2007-01-21 16:07:25 +00:00
2013-02-05 16:50:32 +00:00
2011-02-03 12:04:48 +00:00
2013-02-05 16:50:32 +00:00
2014-06-14 22:26:56 +01:00
2014-03-27 00:54:16 +00:00
2014-06-27 23:18:40 +01:00
2014-03-27 00:54:16 +00:00
2002-07-10 07:01:54 +00:00
2010-02-16 14:19:42 +00:00
2001-11-10 01:16:28 +00:00
2014-06-03 16:30:23 +01:00
2010-03-24 23:16:35 +00:00
2014-03-27 00:54:16 +00:00
2009-09-12 23:09:59 +00:00
2010-02-01 16:48:40 +00:00
2010-02-22 07:05:24 +00:00
2014-03-27 00:54:16 +00:00
2013-02-11 18:27:33 +00:00
2014-06-29 13:54:21 +01:00
2009-12-27 23:03:40 +00:00
2013-10-04 14:55:01 +01:00