Matt Caswell 0598468fc0 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:41:23 +01:00
..
2012-04-16 17:43:02 +00:00
2013-10-30 14:37:22 +00:00
2013-09-18 13:46:02 +01:00
2013-09-18 13:46:02 +01:00
2009-04-21 22:20:12 +00:00
2014-02-26 15:33:10 +00:00
2014-08-01 21:21:03 +01:00
2013-02-06 13:56:12 +00:00
2014-06-09 12:09:51 +01:00
2013-02-06 13:56:12 +00:00
2014-01-07 15:41:11 +00:00
2014-07-04 13:42:05 +01:00
2014-06-09 12:09:51 +01:00
2014-07-05 23:57:28 +02:00
2014-07-04 13:42:05 +01:00
2002-07-10 07:01:54 +00:00
2011-11-21 22:52:01 +00:00
2014-07-04 13:42:05 +01:00
2014-06-10 14:59:10 +01:00
2014-07-04 13:42:05 +01:00
2014-07-04 13:42:05 +01:00
2014-02-08 16:19:30 -08:00
2014-07-04 13:42:05 +01:00
2013-09-18 13:46:02 +01:00
2014-07-24 19:42:26 +01:00
2014-07-04 13:42:05 +01:00
2014-07-02 00:09:39 +01:00
2009-12-27 22:59:09 +00:00
2014-07-04 13:42:05 +01:00