Package: openssl / 1.0.1e-2+deb7u20
Metadata
| Package | Version | Patches format |
|---|---|---|
| openssl | 1.0.1e-2+deb7u20 | 3.0 (quilt) |
Patch series
view the series file| Patch | File delta | Description |
|---|---|---|
| Applying same fix as in dtls1_process_out_of_seq_mes.patch | (download) |
ssl/d1_both.c |
4 3 + 1 - 0 ! |
[patch 06/16] applying same fix as in dtls1_process_out_of_seq_message. A truncated DTLS fragment would cause *ok to be clear, but the return value would still be the number of bytes read. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem identified by Emilia Ksper, based on previous issue/patch by Adam Langley. |
| Remove some duplicate DTLS code.patch | (download) |
ssl/d1_both.c |
16 4 + 12 - 0 ! |
[patch 07/16] remove some duplicate dtls code. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In a couple of functions, a sequence number would be calculated twice. Additionally, in |dtls1_process_out_of_seq_message|, we know that |frag_len| <= |msg_hdr->msg_len| so the later tests for |frag_len < msg_hdr->msg_len| can be more clearly written as |frag_len != msg_hdr->msg_len|, since that's the only remaining case. |
| Fix protocol downgrade bug in case of fragmented pac.patch | (download) |
ssl/s23_srvr.c |
30 23 + 7 - 0 ! |
[patch 08/16] fix protocol downgrade bug in case of fragmented packets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CVE-2014-3511 |
| Fix DTLS anonymous EC DH denial of service.patch | (download) |
ssl/d1_clnt.c |
23 21 + 2 - 0 ! |
[patch 09/16] fix dtls anonymous ec(dh) denial of service CVE-2014-3510 |
| Fix OID handling.patch | (download) |
crypto/asn1/a_object.c |
30 21 + 9 - 0 ! |
[patch 10/16] fix oid handling: - Upon parsing, reject OIDs with invalid base-128 encoding. - Always NUL-terminate the destination buffer in OBJ_obj2txt printing function. CVE-2014-3508 |
| Fix race condition in ssl_parse_serverhello_tlsext.patch | (download) |
ssl/t1_lib.c |
17 10 + 7 - 0 ! |
[patch 11/16] fix race condition in ssl_parse_serverhello_tlsext CVE-2014-3509 |
| SRP ciphersuite correction.patch | (download) |
ssl/s3_lib.c |
6 3 + 3 - 0 ! |
[patch] srp ciphersuite correction. SRP ciphersuites do not have no authentication. They have authentication based on SRP. Add new SRP authentication flag and cipher string. (cherry picked from commit a86b88acc373ac1fb0ca709a5fb8a8fa74683f67) |
| Fix SRP ciphersuite DoS vulnerability.patch | (download) |
ssl/s3_clnt.c |
9 9 + 0 - 0 ! |
[patch 12/16] fix srp ciphersuite dos vulnerability. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a client attempted to use an SRP ciphersuite and it had not been set up correctly it would crash with a null pointer read. A malicious server could exploit this in a DoS attack. Thanks to Joonas Kuorilehto and Riku Hietamki from Codenomicon for reporting this issue. CVE-2014-5139 |
| Fix SRP buffer overrun vulnerability.patch | (download) |
crypto/srp/srp_lib.c |
6 6 + 0 - 0 ! |
[patch 13/16] fix srp buffer overrun vulnerability. Invalid parameters passed to the SRP code can be overrun an internal buffer. Add sanity check that g, A, B < N to SRP code. Thanks to Sean Devlin and Watson Ladd of Cryptography Services, NCC Group for reporting this issue. |
| Check SRP parameters early.patch | (download) |
ssl/s3_clnt.c |
6 6 + 0 - 0 ! |
[patch 14/16] check srp parameters early. Check SRP parameters when they are received so we can send back an appropriate alert. |
| Support TLS_FALLBACK_SCSV.patch | (download) |
apps/s_client.c |
10 10 + 0 - 0 ! |
[patch] support tls_fallback_scsv. |
| Fix for SRTP Memory Leak.patch | (download) |
ssl/d1_srtp.c |
93 31 + 62 - 0 ! |
[patch 1/4] fix for srtp memory leak CVE-2014-3513 This issue was reported to OpenSSL on 26th September 2014, based on an origi issue and patch developed by the LibreSSL project. Further analysis of the i was performed by the OpenSSL team. The fix was developed by the OpenSSL team. |
| Fix for session tickets memory leak.patch | (download) |
ssl/t1_lib.c |
3 3 + 0 - 0 ! |
[patch 3/4] fix for session tickets memory leak. CVE-2014-3567 |
| Fix no ssl3 configuration option.patch | (download) |
ssl/s23_clnt.c |
9 7 + 2 - 0 ! |
[patch 4/4] fix no-ssl3 configuration option CVE-2014-3568 |
| Keep old method in case of an unsupported protocol.patch | (download) |
ssl/s23_srvr.c |
6 4 + 2 - 0 ! |
[patch] keep old method in case of an unsupported protocol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When we're configured with no-ssl3 and we receive an SSL v3 Client Hello, we set the method to NULL. We didn't used to do that, and it breaks things. This is a regression introduced in 62f45cc27d07187b59551e4fad3db4e52ea73f2c. Keep the old method since the code is not able to deal with a NULL method at this time. CVE-2014-3569, PR#3571 |
| 0082 Return error when a bit string indicates an invalid .patch | (download) |
crypto/asn1/a_bitstr.c |
7 6 + 1 - 0 ! |
[patch 082/117] return error when a bit string indicates an invalid amount of bits left |
| 0094 Fix various certificate fingerprint issues.patch | (download) |
crypto/asn1/a_verify.c |
12 12 + 0 - 0 ! |
[patch 094/117] fix various certificate fingerprint issues. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit By using non-DER or invalid encodings outside the signed portion of a certificate the fingerprint can be changed without breaking the signature. Although no details of the signed portion of the certificate can be changed this can cause problems with some applications: e.g. those using the certificate fingerprint for blacklists. 1. Reject signatures with non zero unused bits. If the BIT STRING containing the signature has non zero unused bits reject the signature. All current signature algorithms require zero unused bits. 2. Check certificate algorithm consistency. Check the AlgorithmIdentifier inside TBS matches the one in the certificate signature. NB: this will result in signature failure errors for some broken certificates. 3. Check DSA/ECDSA signatures use DER. Reencode DSA/ECDSA signatures and compare with the original received signature. Return an error if there is a mismatch. This will reject various cases including garbage after signature (thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS program for discovering this case) and use of BER or invalid ASN.1 INTEGERs (negative or with leading zeroes). CVE-2014-8275 |
| 0095 Constify ASN1_TYPE_cmp add X509_ALGOR_cmp.patch | (download) |
crypto/asn1/a_type.c |
2 1 + 1 - 0 ! |
[patch 095/117] constify asn1_type_cmp add x509_algor_cmp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit |
| 0098 ECDH downgrade bug fix.patch | (download) |
ssl/s3_clnt.c |
18 15 + 3 - 0 ! |
[patch 098/117] ecdh downgrade bug fix. Fix bug where an OpenSSL client would accept a handshake using an ephemeral ECDH ciphersuites with the server key exchange message omitted. Thanks to Karthikeyan Bhargavan for reporting this issue. CVE-2014-3572 |
| 0099 Only allow ephemeral RSA keys in export ciphersuites.patch | (download) |
doc/ssl/SSL_CTX_set_options.pod |
10 1 + 9 - 0 ! |
[patch 099/117] only allow ephemeral rsa keys in export ciphersuites. OpenSSL clients would tolerate temporary RSA keys in non-export ciphersuites. It also had an option SSL_OP_EPHEMERAL_RSA which enabled this server side. Remove both options as they are a protocol violation. Thanks to Karthikeyan Bhargavan for reporting this issue. (CVE-2015-0204) |
| 0102 use correct function name.patch | (download) |
crypto/asn1/a_verify.c |
2 1 + 1 - 0 ! |
[patch 102/117] use correct function name |
| 0107 fix error discrepancy.patch | (download) |
ssl/s3_clnt.c |
2 1 + 1 - 0 ! |
[patch 107/117] fix error discrepancy |
| 0108 Fix for CVE 2014 3570.patch | (download) |
crypto/bn/asm/mips.pl |
611 131 + 480 - 0 ! |
[patch 108/117] fix for cve-2014-3570. |
| 0109 Fix crash in dtls1_get_record whilst in the listen s.patch | (download) |
ssl/d1_pkt.c |
2 0 + 2 - 0 ! |
[patch 109/117] fix crash in dtls1_get_record whilst in the listen state where you get two separate reads performed - one for the header and one for the body of the handshake record. CVE-2014-3571 |
| 0110 Follow on from CVE 2014 3571. This fixes the code th.patch | (download) |
ssl/d1_pkt.c |
3 2 + 1 - 0 ! |
[patch 110/117] follow on from cve-2014-3571. this fixes the code that was the original source of the crash due to p being NULL. Steve's fix prevents this situation from occuring - however this is by no means obvious by looking at the code for dtls1_get_record. This fix just makes things look a bit more sane. |
| 0111 Unauthenticated DH client certificate fix.patch | (download) |
ssl/s3_srvr.c |
2 1 + 1 - 0 ! |
[patch 111/117] unauthenticated dh client certificate fix. Fix to prevent use of DH client certificates without sending certificate verify message. If we've used a client certificate to generate the premaster secret ssl3_get_client_key_exchange returns 2 and ssl3_get_cert_verify is never called. We can only skip the certificate verify message in ssl3_get_cert_verify if the client didn't send a certificate. Thanks to Karthikeyan Bhargavan for reporting this issue. CVE-2015-0205 |
| 0112 A memory leak can occur in dtls1_buffer_record if ei.patch | (download) |
ssl/d1_pkt.c |
30 21 + 9 - 0 ! |
[patch 112/117] a memory leak can occur in dtls1_buffer_record if either of the calls to ssl3_setup_buffers or pqueue_insert fail. The former will fail if there is a malloc failure, whilst the latter will fail if attempting to add a duplicate record to the queue. This should never happen because duplicate records should be detected and dropped before any attempt to add them to the queue. Unfortunately records that arrive that are for the next epoch are not being recorded correctly, and therefore replays are not being detected. Additionally, these "should not happen" failures that can occur in dtls1_buffer_record are not being treated as fatal and therefore an attacker could exploit this by sending repeated replay records for the next epoch, eventually causing a DoS through memory exhaustion. Thanks to Chris Mueller for reporting this issue and providing initial analysis and a patch. Further analysis and the final patch was performed by Matt Caswell from the OpenSSL development team. CVE-2015-0206 |
| 0006 Fix reachable assert in SSLv2 servers.patch | (download) |
ssl/s2_lib.c |
2 1 + 1 - 0 ! |
[patch 6/6] fix reachable assert in sslv2 servers. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This assert is reachable for servers that support SSLv2 and export ciphers. Therefore, such servers can be DoSed by sending a specially crafted SSLv2 CLIENT-MASTER-KEY. Also fix s2_srvr.c to error out early if the key lengths are malformed. These lengths are sent unencrypted, so this does not introduce an oracle. CVE-2015-0293 This issue was discovered by Sean Burford (Google) and Emilia Ksper of the OpenSSL development team. |
| 0005 PKCS 7 avoid NULL pointer dereferences with missing .patch | (download) |
crypto/pkcs7/pk7_doit.c |
94 76 + 18 - 0 ! |
[patch 5/6] pkcs#7: avoid null pointer dereferences with missing content In PKCS#7, the ASN.1 content component is optional. This typically applies to inner content (detached signatures), however we must also handle unexpected missing outer content correctly. This patch only addresses functions reachable from parsing, decryption and verification, and functions otherwise associated with reading potentially untrusted data. Correcting all low-level API calls requires further work. CVE-2015-0289 Thanks to Michal Zalewski (Google) for reporting this issue. |
| 0004 Fix ASN1_TYPE_cmp.patch | (download) |
crypto/asn1/a_type.c |
3 3 + 0 - 0 ! |
[patch 4/6] fix asn1_type_cmp Fix segmentation violation when ASN1_TYPE_cmp is passed a boolean type. This can be triggered during certificate verification so could be a DoS attack against a client or a server enabling client authentication. CVE-2015-0286 |
| 0002 Free up ADB and CHOICE if already initialised.patch | (download) |
crypto/asn1/tasn_dec.c |
24 21 + 3 - 0 ! |
[patch 2/6] free up adb and choice if already initialised. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CVE-2015-0287 |
| 0001 fix warning.patch | (download) |
ssl/ssl_locl.h |
6 3 + 3 - 0 ! |
[patch 1/6] fix warning |
| 0001 Remove export ciphers from the DEFAULT cipher list.patch | (download) |
doc/apps/ciphers.pod |
4 2 + 2 - 0 ! |
[patch] remove export ciphers from the default cipher list They are moved to the COMPLEMENTOFDEFAULT instead. This also fixes SSLv2 to be part of COMPLEMENTOFDEFAULT. |
| 0001 Make DTLS always act as if read_ahead is set. The ac.patch | (download) |
ssl/s3_pkt.c |
3 2 + 1 - 0 ! |
[patch] make dtls always act as if read_ahead is set. the actual value of read_ahead is ignored for DTLS. RT#3657 |
| 0001 Fix a failure to NULL a pointer freed on error.patch | (download) |
crypto/ec/ec_asn1.c |
6 3 + 3 - 0 ! |
[patch] fix a failure to null a pointer freed on error. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inspired by BoringSSL commit 517073cd4b by Eric Roman <eroman@chromium.org> CVE-2015-0209 |
| 0001 Check public key is not NULL.patch | (download) |
crypto/x509/x509_req.c |
2 2 + 0 - 0 ! |
[patch] check public key is not null. CVE-2015-0288 PR#3708 |
| 0001 evp prevent underflow in base64 decoding.patch | (download) |
crypto/evp/encode.c |
1 1 + 0 - 0 ! |
[patch] evp: prevent underflow in base64 decoding This patch resolves RT ticket #2608. Thanks to Robert Dugal for originally spotting this, and to David Ramos for noticing that the ball had been dropped. Signed-off-by: Geoff Thorpe <geoff@openssl.org> |
| 0008 Fix a failure to NULL a pointer freed on error.patch | (download) |
crypto/asn1/x_x509.c |
12 11 + 1 - 0 ! |
[patch 08/12] fix a failure to null a pointer freed on error. Reported by the LibreSSL project as a follow on to CVE-2015-0209 |
| CVE 2015 1791.patch | (download) |
ssl/s3_clnt.c |
32 32 + 0 - 0 ! |
--- |
| CVE 2015 1792.patch | (download) |
crypto/cms/cms_smime.c |
2 1 + 1 - 0 ! |
[patch] fix infinite loop in cms Fix loop in do_free_upto if cmsbio is NULL: this will happen when attempting to verify and a digest is not recognised. Reported by Johannes Bauer. CVE-2015-1792 |
| CVE 2015 1789.patch | (download) |
crypto/x509/x509_vfy.c |
77 58 + 19 - 0 ! |
[patch] fix length checks in x509_cmp_time to avoid out-of-bounds reads. Also tighten X509_cmp_time to reject more than three fractional seconds in the time; and to reject trailing garbage after the offset. CVE-2015-1789 |
| CVE 2015 1790.patch | (download) |
crypto/pkcs7/pk7_doit.c |
16 15 + 1 - 0 ! |
[patch] pkcs#7: fix null dereference with missing encryptedcontent. CVE-2015-1790 |
| CVE 2015 1788.patch | (download) |
crypto/bn/bn_gf2m.c |
14 10 + 4 - 0 ! |
[patch] bn/bn_gf2m.c: avoid infinite loop wich malformed ecparamters. CVE-2015-1788 |
| CVE 2015 4000.patch | (download) |
ssl/s3_clnt.c |
33 20 + 13 - 0 ! |
[patch] client: reject handshakes with dh parameters < 768 bits. Since the client has no way of communicating her supported parameter range to the server, connections to servers that choose weak DH will simply fail. |
| CVE 2014 8176.patch | (download) |
ssl/d1_lib.c |
9 6 + 3 - 0 ! |
[patch] free up s->d1->buffered_app_data.q properly. PR#3286 (cherry picked from commit 71e95000afb2227fe5cac1c79ae884338bcd8d0b) |
| CVE 2015 3194.patch | (download) |
crypto/rsa/rsa_ameth.c |
2 1 + 1 - 0 ! |
[patch 2/2] add pss parameter check. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid seg fault by checking mgf1 parameter is not NULL. This can be triggered during certificate verification so could be a DoS attack against a client or a server enabling client authentication. Thanks to Loc Jonas Etienne (Qnective AG) for discovering this bug. CVE-2015-3194 |
| CVE 2015 3195.patch | (download) |
crypto/asn1/tasn_dec.c |
7 5 + 2 - 0 ! |
[patch 1/2] fix leak with asn.1 combine. When parsing a combined structure pass a flag to the decode routine so on error a pointer to the parent structure is not zeroed as this will leak any additional components in the parent. This can leak memory in any application parsing PKCS#7 or CMS structures. CVE-2015-3195. Thanks to Adam Langley (Google/BoringSSL) for discovering this bug using libFuzzer. PR#4131 |
| CVE 2015 3196.patch | (download) |
ssl/s3_clnt.c |
16 3 + 13 - 0 ! |
[patch] fix psk handling. The PSK identity hint should be stored in the SSL_SESSION structure and not in the parent context (which will overwrite values used by other SSL structures with the same SSL_CTX). Use BUF_strndup when copying identity as it may not be null terminated. |
| CVE 2015 7575.patch | (download) |
ssl/t1_lib.c |
16 0 + 16 - 0 ! |
[patch] don't use rsa+md5 with tls 1.2 Since the TLS 1.2 supported signature algorithms extension is less sophisticaed in OpenSSL 1.0.1 this has to be done in two stages. RSA+MD5 is removed from supported signature algorithms extension: any compliant implementation should never use RSA+MD5 as a result. To cover the case of a broken implementation using RSA+MD5 anyway disable lookup of MD5 algorithm in TLS 1.2. |
| Disable EXPORT and LOW ciphers.patch | (download) |
doc/apps/ciphers.pod |
34 23 + 11 - 0 ! |
--- |
| CVE 2016 0797.patch | (download) |
crypto/bn/bn.h |
14 12 + 2 - 0 ! |
[patch] fix bn_hex2bn/bn_dec2bn null ptr/heap corruption |
| CVE 2016 0798.patch | (download) |
apps/s_server.c |
25 17 + 8 - 0 ! |
[patch] cve-2016-0798: avoid memory leak in srp The SRP user database lookup method SRP_VBASE_get_by_user had confusing memory management semantics; the returned pointer was sometimes newly allocated, and sometimes owned by the callee. The calling code has no way of distinguishing these two cases. Specifically, SRP servers that configure a secret seed to hide valid login information are vulnerable to a memory leak: an attacker connecting with an invalid username can cause a memory leak of around 300 bytes per connection. Servers that do not configure SRP, or configure SRP but do not configure a seed are not vulnerable. In Apache, the seed directive is known as SSLSRPUnknownUserSeed. To mitigate the memory leak, the seed handling in SRP_VBASE_get_by_user is now disabled even if the user has configured a seed. Applications are advised to migrate to SRP_VBASE_get1_by_user. However, note that OpenSSL makes no strong guarantees about the indistinguishability of valid and invalid logins. In particular, computations are currently not carried out in constant time. |
| CVE 2016 0799.patch | (download) |
crypto/bio/b_print.c |
196 120 + 76 - 0 ! |
[patch] fix memory issues in bio_*printf functions The internal |fmtstr| function used in processing a "%s" format string in the BIO_*printf functions could overflow while calculating the length of a string and cause an OOB read when printing very long strings. Additionally the internal |doapr_outch| function can attempt to write to an OOB memory location (at an offset from the NULL pointer) in the event of a memory allocation failure. In 1.0.2 and below this could be caused where the size of a buffer to be allocated is greater than INT_MAX. E.g. this could be in processing a very long "%s" format string. Memory leaks can also occur. These issues will only occur on certain platforms where sizeof(size_t) > sizeof(int). E.g. many 64 bit systems. The first issue may mask the second issue dependent on compiler behaviour. These problems could enable attacks where large amounts of untrusted data is passed to the BIO_*printf functions. If applications use these functions in this way then they could be vulnerable. OpenSSL itself uses these functions when printing out human-readable dumps of ASN.1 data. Therefore applications that print this data could be vulnerable if the data is from untrusted sources. OpenSSL command line applications could also be vulnerable where they print out ASN.1 data, or if untrusted data is passed as command line arguments. Libssl is not considered directly vulnerable. Additionally certificates etc received via remote connections via libssl are also unlikely to be able to trigger these issues because of message size limits enforced within libssl. CVE-2016-0799 Issue reported by Guido Vranken. |
| CVE 2016 0702.patch | (download) |
crypto/bn/asm/x86_64-mont5.pl |
517 316 + 201 - 0 ! |
--- |
| CVE 2016 0705.patch | (download) |
crypto/dsa/dsa_ameth.c |
22 11 + 11 - 0 ! |
[patch] fix double free in dsa private key parsing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix double free bug when parsing malformed DSA private keys. Thanks to Adam Langley (Google/BoringSSL) for discovering this bug using libFuzzer. CVE-2016-0705 |
