Package: openssl / 1.0.1t-1+deb8u8
Metadata
Package | Version | Patches format |
---|---|---|
openssl | 1.0.1t-1+deb8u8 | 3.0 (quilt) |
Patch series
view the series filePatch | File delta | Description |
---|---|---|
ca.patch | (download) |
apps/CA.pl.in |
2 2 + 0 - 0 ! |
--- |
config hurd.patch | (download) |
config |
4 2 + 2 - 0 ! |
--- |
debian targets.patch | (download) |
Configure |
53 53 + 0 - 0 ! |
--- |
engines path.patch | (download) |
Configure |
2 1 + 1 - 0 ! |
--- |
man dir.patch | (download) |
Makefile.org |
2 1 + 1 - 0 ! |
--- |
man section.patch | (download) |
Makefile.org |
7 4 + 3 - 0 ! |
--- |
no rpath.patch | (download) |
Makefile.shared |
2 1 + 1 - 0 ! |
--- |
no symbolic.patch | (download) |
Makefile.shared |
2 1 + 1 - 0 ! |
--- |
pic.patch | (download) |
crypto/des/asm/desboth.pl |
17 14 + 3 - 0 ! |
--- |
valgrind.patch | (download) |
crypto/rand/md_rand.c |
2 2 + 0 - 0 ! |
--- |
rehash crt.patch | (download) |
tools/c_rehash.in |
12 9 + 3 - 0 ! |
--- |
shared lib ext.patch | (download) |
Configure |
3 2 + 1 - 0 ! |
--- |
stddef.patch | (download) |
crypto/sha/sha.h |
2 1 + 1 - 0 ! |
--- |
version script.patch | (download) |
Configure |
2 2 + 0 - 0 ! |
--- |
c_rehash compat.patch | (download) |
tools/c_rehash.in |
8 7 + 1 - 0 ! |
[patch] also create old hash for compatibility |
block_diginotar.patch | (download) |
crypto/x509/x509_vfy.c |
26 26 + 0 - 0 ! |
make x509_verify_cert indicate that any certificate whose name contains "DigiNotar" is revoked. |
block_digicert_malaysia.patch | (download) |
crypto/x509/x509_vfy.c |
7 4 + 3 - 0 ! |
make x509_verify_cert indicate that any certificate whose name contains "Digicert Sdn. Bhd." (from Malaysia) is revoked. |
defaults.patch | (download) |
apps/genrsa.c |
2 1 + 1 - 0 ! |
change default bit size and digest Date: Fri, 01 Nov 2013 20:47:14 +0100 |
openssl_fix_for_x32.patch | (download) |
crypto/bn/asm/x86_64-gcc.c |
14 7 + 7 - 0 ! |
--- |
ppc64el.patch | (download) |
crypto/aes/asm/aes-ppc.pl |
113 100 + 13 - 0 ! |
--- |
Update S MIME certificates.patch | (download) |
test/smime-certs/smdsa1.pem |
75 44 + 31 - 0 ! |
[patch] update s/mime certificates. |
Fix name length limit check.patch | (download) |
crypto/asn1/x_name.c |
6 2 + 4 - 0 ! |
[patch] fix name length limit check. The name length limit check in x509_name_ex_d2i() includes the containing structure as well as the actual X509_NAME. This will cause large CRLs to be rejected. Fix by limiting the length passed to ASN1_item_ex_d2i() which will then return an error if the passed X509_NAME exceeds the length. RT#4531 |
CVE 2016 2177.patch | (download) |
ssl/s3_srvr.c |
14 7 + 7 - 0 ! |
[patch] avoid some undefined pointer arithmetic A common idiom in the codebase is: if (p + len > limit) { return; /* Too long */ } Where "p" points to some malloc'd data of SIZE bytes and limit == p + SIZE "len" here could be from some externally supplied data (e.g. from a TLS message). The rules of C pointer arithmetic are such that "p + len" is only well defined where len <= SIZE. Therefore the above idiom is actually undefined behaviour. For example this could cause problems if some malloc implementation provides an address for "p" such that "p + len" actually overflows for values of len that are too big and therefore p + len < limit! Issue reported by Guido Vranken. CVE-2016-2177 |
CVE 2016 2178.patch | (download) |
crypto/dsa/dsa_ossl.c |
5 4 + 1 - 0 ! |
--- |
CVE 2016 2179.patch | (download) |
ssl/d1_both.c |
32 16 + 16 - 0 ! |
[patch] fix dtls buffered message dos attack DTLS can handle out of order record delivery. Additionally since handshake messages can be bigger than will fit into a single packet, the messages can be fragmented across multiple records (as with normal TLS). That means that the messages can arrive mixed up, and we have to reassemble them. We keep a queue of buffered messages that are "from the future", i.e. messages we're not ready to deal with yet but have arrived early. The messages held there may not be full yet - they could be one or more fragments that are still in the process of being reassembled. The code assumes that we will eventually complete the reassembly and when that occurs the complete message is removed from the queue at the point that we need to use it. However, DTLS is also tolerant of packet loss. To get around that DTLS messages can be retransmitted. If we receive a full (non-fragmented) message from the peer after previously having received a fragment of that message, then we ignore the message in the queue and just use the non-fragmented version. At that point the queued message will never get removed. Additionally the peer could send "future" messages that we never get to in order to complete the handshake. Each message has a sequence number (starting from 0). We will accept a message fragment for the current message sequence number, or for any sequence up to 10 into the future. However if the Finished message has a sequence number of 2, anything greater than that in the queue is just left there. So, in those two ways we can end up with "orphaned" data in the queue that will never get removed - except when the connection is closed. At that point all the queues are flushed. An attacker could seek to exploit this by filling up the queues with lots of large messages that are never going to be used in order to attempt a DoS by memory exhaustion. I will assume that we are only concerned with servers here. It does not seem reasonable to be concerned about a memory exhaustion attack on a client. They are unlikely to process enough connections for this to be an issue. A "long" handshake with many messages might be 5 messages long (in the incoming direction), e.g. ClientHello, Certificate, ClientKeyExchange, CertificateVerify, Finished. So this would be message sequence numbers 0 to 4. Additionally we can buffer up to 10 messages in the future. Therefore the maximum number of messages that an attacker could send that could get orphaned would typically be 15. The maximum size that a DTLS message is allowed to be is defined by max_cert_list, which by default is 100k. Therefore the maximum amount of "orphaned" memory per connection is 1500k. Message sequence numbers get reset after the Finished message, so renegotiation will not extend the maximum number of messages that can be orphaned per connection. As noted above, the queues do get cleared when the connection is closed. Therefore in order to mount an effective attack, an attacker would have to open many simultaneous connections. Issue reported by Quan Luo. CVE-2016-2179 |
CVE 2016 2180.patch | (download) |
crypto/ts/ts_lib.c |
5 2 + 3 - 0 ! |
[patch] fix oob read in ts_obj_print_bio(). TS_OBJ_print_bio() misuses OBJ_txt2obj: it should print the result as a null terminated buffer. The length value returned is the total length the complete text reprsentation would need not the amount of data written. CVE-2016-2180 Thanks to Shi Lei for reporting this bug. |
CVE 2016 2181.patch | (download) |
ssl/d1_pkt.c |
83 69 + 14 - 0 ! |
--- |
CVE 2016 2182.patch | (download) |
crypto/bn/bn_print.c |
12 8 + 4 - 0 ! |
--- |
CVE 2016 2183.patch | (download) |
ssl/s3_lib.c |
34 17 + 17 - 0 ! |
[patch] sweet32 (cve-2016-2183): move des from high to medium MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit |
CVE 2016 6302.patch | (download) |
ssl/t1_lib.c |
11 8 + 3 - 0 ! |
[patch] sanity check ticket length. If a ticket callback changes the HMAC digest to SHA512 the existing sanity checks are not sufficient and an attacker could perform a DoS attack with a malformed ticket. Add additional checks based on HMAC size. Thanks to Shi Lei for reporting this bug. CVE-2016-6302 |
CVE 2016 6303.patch | (download) |
crypto/mdc2/mdc2dgst.c |
2 1 + 1 - 0 ! |
[patch] avoid overflow in mdc2_update() Thanks to Shi Lei for reporting this issue. CVE-2016-6303 |
CVE 2016 6304.patch | (download) |
ssl/t1_lib.c |
24 17 + 7 - 0 ! |
[patch] fix ocsp status request extension unbounded memory growth A malicious client can send an excessively large OCSP Status Request extension. If that client continually requests renegotiation, sending a large OCSP Status Request extension each time, then there will be unbounded memory growth on the server. This will eventually lead to a Denial Of Service attack through memory exhaustion. Servers with a default configuration are vulnerable even if they do not support OCSP. Builds using the "no-ocsp" build time option are not affected. I have also checked other extensions to see if they suffer from a similar problem but I could not find any other issues. CVE-2016-6304 Issue reported by Shi Lei. |
CVE 2016 6306.patch | (download) |
ssl/d1_both.c |
5 4 + 1 - 0 ! |
[patch] fix small oob reads. In ssl3_get_client_certificate, ssl3_get_server_certificate and ssl3_get_certificate_request check we have enough room before reading a length. Thanks to Shi Lei (Gear Team, Qihoo 360 Inc.) for reporting these bugs. CVE-2016-6306 |
CVE 2016 8610.patch | (download) |
ssl/d1_pkt.c |
15 15 + 0 - 0 ! |
cve-2016-8610 This is a combination of commit 22646a075e75991b4e8f5d67171e45a6aead5b48 and f1185392189641014dca94f3fe7834bccb5f4c16 index 7e3a7b480e..cb74d467bb 100644 |
CVE 2017 3731.patch | (download) |
crypto/evp/e_rc4_hmac_md5.c |
2 2 + 0 - 0 ! |
[patch] crypto/evp: harden rc4_md5 cipher. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Originally a crash in 32-bit build was reported CHACHA20-POLY1305 cipher. The crash is triggered by truncated packet and is result of excessive hashing to the edge of accessible memory (or bogus MAC value is produced if x86 MD5 assembly module is involved). Since hash operation is read-only it is not considered to be exploitable beyond a DoS condition. Thanks to Robert wicki for report. CVE-2017-3731 |
CVE 2016 7056.patch | (download) |
crypto/ecdsa/ecs_ossl.c |
2 2 + 0 - 0 ! |
--- |
CVE 2017 3735.patch | (download) |
crypto/x509v3/v3_addr.c |
10 6 + 4 - 0 ! |
[patch] avoid out-of-bounds read Fixes CVE 2017-3735 |
Limit ASN.1 constructed types recursive definition d.patch | (download) |
crypto/asn1/asn1.h |
1 1 + 0 - 0 ! |
[patch] limit asn.1 constructed types recursive definition depth Constructed types with a recursive definition (such as can be found in PKCS7) could eventually exceed the stack given malicious input with excessive recursion. Therefore we limit the stack depth. CVE-2018-0739 Credit to OSSFuzz for finding this issue. |