• A
    Fix memory leak from zero-length DTLS fragments. · d0a4b7d1
    Adam Langley 提交于
    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: NMatt Caswell <matt@openssl.org>
    Reviewed-by: NEmilia Käsper <emilia@openssl.org>
    d0a4b7d1
d1_both.c 41.9 KB