summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsthen <>2014-06-05 20:16:57 +0000
committersthen <>2014-06-05 20:16:57 +0000
commit6052fd1003ae90e7a6ec4b51688f8817c9e4221d (patch)
tree80ba64fad0f31fe8e5443e6ab034ac88b2448f2f
parent2c69ba1586afb1f474d34f169579b728e9ace142 (diff)
downloadopenbsd-6052fd1003ae90e7a6ec4b51688f8817c9e4221d.tar.gz
openbsd-6052fd1003ae90e7a6ec4b51688f8817c9e4221d.tar.bz2
openbsd-6052fd1003ae90e7a6ec4b51688f8817c9e4221d.zip
MFC DTLS buffer overflow fix (CVE-2014-0195)
"Avoid a buffer overflow that can be triggered by sending specially crafted DTLS fragments. Fix for CVE-2014-0195, from OpenSSL. Reported to OpenSSL by Juri Aedla." From d1_both.c r1.19
-rw-r--r--src/lib/libssl/src/ssl/d1_both.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/libssl/src/ssl/d1_both.c b/src/lib/libssl/src/ssl/d1_both.c
index 94ff9a2d14..5cbc0c6a44 100644
--- a/src/lib/libssl/src/ssl/d1_both.c
+++ b/src/lib/libssl/src/ssl/d1_both.c
@@ -626,8 +626,14 @@ dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok)
626 frag->msg_header.frag_len = frag->msg_header.msg_len; 626 frag->msg_header.frag_len = frag->msg_header.msg_len;
627 frag->msg_header.frag_off = 0; 627 frag->msg_header.frag_off = 0;
628 } 628 }
629 else 629 else {
630 frag = (hm_fragment*) item->data; 630 frag = (hm_fragment*) item->data;
631 if (frag->msg_header.msg_len != msg_hdr->msg_len) {
632 item = NULL;
633 frag = NULL;
634 goto err;
635 }
636 }
631 637
632 /* If message is already reassembled, this must be a 638 /* If message is already reassembled, this must be a
633 * retransmit and can be dropped. 639 * retransmit and can be dropped.