Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 883475 Details for
Bug 1084875
CVE-2014-0160 openssl: information disclosure in handling of TLS heartbeat extension packets
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
OpenSSL patch
openssl-heartbeart-bounds-check.patch (text/plain), 3.21 KB, created by
Huzaifa S. Sidhpurwala
on 2014-04-07 06:14:33 UTC
(
hide
)
Description:
OpenSSL patch
Filename:
MIME Type:
Creator:
Huzaifa S. Sidhpurwala
Created:
2014-04-07 06:14:33 UTC
Size:
3.21 KB
patch
obsolete
>commit 5e5f9bb1fe5587ccd26f108c3e98811546ccaef6 >Author: Bodo Moeller and Adam Langley >Date: Fri Mar 21 10:23:12 2014 -0400 > > heartbeat_fix > > Add missing bounds checks for Heartbeat messages. > >diff --git a/ssl/d1_both.c b/ssl/d1_both.c >index 7a5596a..2e8cf68 100644 >--- a/ssl/d1_both.c >+++ b/ssl/d1_both.c >@@ -1459,26 +1459,36 @@ dtls1_process_heartbeat(SSL *s) > unsigned int payload; > unsigned int padding = 16; /* Use minimum padding */ > >+ if (s->msg_callback) >+ s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT, >+ &s->s3->rrec.data[0], s->s3->rrec.length, >+ s, s->msg_callback_arg); >+ > /* Read type and payload length first */ >+ if (1 + 2 + 16 > s->s3->rrec.length) >+ return 0; /* silently discard */ > hbtype = *p++; > n2s(p, payload); >+ if (1 + 2 + payload + 16 > s->s3->rrec.length) >+ return 0; /* silently discard per RFC 6520 sec. 4 */ > pl = p; > >- if (s->msg_callback) >- s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT, >- &s->s3->rrec.data[0], s->s3->rrec.length, >- s, s->msg_callback_arg); >- > if (hbtype == TLS1_HB_REQUEST) > { > unsigned char *buffer, *bp; >+ unsigned int write_length = 1 /* heartbeat type */ + >+ 2 /* heartbeat length */ + >+ payload + padding; > int r; > >+ if (write_length > SSL3_RT_MAX_PLAIN_LENGTH) >+ return 0; >+ > /* Allocate memory for the response, size is 1 byte > * message type, plus 2 bytes payload length, plus > * payload, plus padding > */ >- buffer = OPENSSL_malloc(1 + 2 + payload + padding); >+ buffer = OPENSSL_malloc(write_length); > bp = buffer; > > /* Enter response type, length and copy payload */ >@@ -1489,11 +1499,11 @@ dtls1_process_heartbeat(SSL *s) > /* Random padding */ > RAND_pseudo_bytes(bp, padding); > >- r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding); >+ r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, write_length); > > if (r >= 0 && s->msg_callback) > s->msg_callback(1, s->version, TLS1_RT_HEARTBEAT, >- buffer, 3 + payload + padding, >+ buffer, write_length, > s, s->msg_callback_arg); > > OPENSSL_free(buffer); >diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c >index 29ccd83..4e0b9ef 100644 >--- a/ssl/t1_lib.c >+++ b/ssl/t1_lib.c >@@ -2588,16 +2588,20 @@ tls1_process_heartbeat(SSL *s) > unsigned int payload; > unsigned int padding = 16; /* Use minimum padding */ > >- /* Read type and payload length first */ >- hbtype = *p++; >- n2s(p, payload); >- pl = p; >- > if (s->msg_callback) > s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT, > &s->s3->rrec.data[0], s->s3->rrec.length, > s, s->msg_callback_arg); > >+ /* Read type and payload length first */ >+ if (1 + 2 + 16 > s->s3->rrec.length) >+ return 0; /* silently discard */ >+ hbtype = *p++; >+ n2s(p, payload); >+ if (1 + 2 + payload + 16 > s->s3->rrec.length) >+ return 0; /* silently discard per RFC 6520 sec. 4 */ >+ pl = p; >+ > if (hbtype == TLS1_HB_REQUEST) > { > unsigned char *buffer, *bp; >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1084875
: 883475 |
883772
|
883804