- Jan 05, 2015
-
-
Dr. Stephen Henson authored
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 Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 684400ce) Conflicts: CHANGES crypto/dsa/dsa_asn1.c
-
Dr. Stephen Henson authored
Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 4c52816d) Conflicts: crypto/asn1/x_algor.c crypto/x509/x509.h
-
Dr. Stephen Henson authored
According to X6.90 null, object identifier, boolean, integer and enumerated types can only have primitive encodings: return an error if any of these are received with a constructed encoding. Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit f5e4b6b5) Conflicts: crypto/asn1/asn1_err.c
-
- Dec 19, 2014
-
-
Matt Caswell authored
is run with --strict-warnings. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 488f16e3)
-
- Dec 18, 2014
-
-
Kurt Roeckx authored
Reviewed-by: Matt Caswell <matt@openssl.org>
-
- Dec 17, 2014
-
-
Emilia Kasper authored
Causes more problems than it fixes: even though error codes are not part of the stable API, several users rely on the specific error code, and the change breaks them. Conversely, we don't have any concrete use-cases for constant-time behaviour here. This reverts commit b55ff319 . Reviewed-by: Andy Polyakov <appro@openssl.org>
-
Adam Langley authored
From BoringSSL - Send an alert when the client key exchange isn't correctly formatted. - Reject overly short RSA ciphertexts to avoid a (benign) out-of-bounds memory access. Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit 4aecfd4d)
-
- Dec 16, 2014
-
-
Matt Caswell authored
Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 7f9edfd2)
-
Matt Caswell authored
Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 55e53026)
-
Matt Caswell authored
Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit 1904d211)
-
- Dec 15, 2014
-
-
Matt Caswell authored
Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 9beb948c)
-
Matt Caswell authored
Based on commit 66f96fe2 by Steve Henson Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit ce5ddefc)
-
- Dec 13, 2014
-
-
Matt Caswell authored
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit d04a1e0b)
-
Matt Caswell authored
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit bb1ddd3d)
-
- Dec 12, 2014
-
-
Matt Caswell authored
malloc failure. Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit c6a84ff3)
-
- Dec 08, 2014
-
-
Matt Caswell authored
Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 41bf2501)
-
Matt Caswell authored
Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 76e65090)
-
- Dec 04, 2014
-
-
Matt Caswell authored
Reviewed-by: Tim Hudson <tjh@openssl.org> Conflicts: ssl/d1_lib.c
-
- Dec 03, 2014
-
-
Matt Caswell authored
Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 4bb8eb9c)
-
Matt Caswell authored
than the mtu we are already using Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 047f2159)
-
Matt Caswell authored
and UDP header) when setting an mtu. This constant is not always correct (e.g. if using IPv6). Use the new DTLS_CTRL functions instead. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 464ce920)
-
Matt Caswell authored
we will support then dtls1_do_write can go into an infinite loop. This commit fixes that. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit d3d9eef3)
-
Matt Caswell authored
at least the minimum or it will fail. There were some instances in dtls1_query_mtu where the final mtu can end up being less than the minimum, i.e. where the user has set an mtu manually. This shouldn't be allowed. Also remove dtls1_guess_mtu that, despite having logic for guessing an mtu, was actually only ever used to work out the minimum mtu to use. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 1620a2e4)
-
Matt Caswell authored
and instead use the value provided by the underlying BIO. Also provide some new DTLS_CTRLs so that the library user can set the mtu without needing to know this constant. These new DTLS_CTRLs provide the capability to set the link level mtu to be used (i.e. including this IP/UDP overhead). The previous DTLS_CTRLs required the library user to subtract this overhead first. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 59669b6a) Conflicts: ssl/d1_both.c ssl/ssl.h ssl/ssl_lib.c
-
Matt Caswell authored
used with no explanation. Some of this was introduced as part of RT#1929. The value 28 is the length of the IP header (20 bytes) plus the UDP header (8 bytes). However use of this constant is incorrect because there may be instances where a different value is needed, e.g. an IPv4 header is 20 bytes but an IPv6 header is 40. Similarly you may not be using UDP (e.g. SCTP). This commit introduces a new BIO_CTRL that provides the value to be used for this mtu "overhead". It will be used by subsequent commits. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 0d3ae34d) Conflicts: crypto/bio/bio.h crypto/bio/bss_dgram.c
-
Matt Caswell authored
mtu that we have received is not less than the minimum. If its less it uses the minimum instead. The second call to query the mtu does not do that, but instead uses whatever comes back. We have seen an instance in RT#3592 where we have got an unreasonably small mtu come back. This commit makes both query checks consistent. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 6abb0d1f)
-
Matt Caswell authored
automatically updated, and we should use the one provided instead. Unfortunately there are a couple of locations where this is not respected. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 00123577)
-
Matt Caswell authored
RT#3592 provides an instance where the OPENSSL_assert that this commit replaces can be hit. I was able to recreate this issue by forcing the underlying BIO to misbehave and come back with very small mtu values. This happens the second time around the while loop after we have detected that the MTU has been exceeded following the call to dtls1_write_bytes. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit cf75017b)
-
- Nov 28, 2014
-
-
Richard Levitte authored
Reviewed-by: Matt Caswell <matt@openssl.org>
-
Richard Levitte authored
Previously, state variant was not advanced, which resulted in state being stuck in the st1 variant (usually "_A"). This broke certificate callback retry logic when accepting connections that were using SSLv2 ClientHello (hence reusing the message), because their state never advanced to SSL3_ST_SR_CLNT_HELLO_C variant required for the retry code path. Reported by Yichun Zhang (agentzh). Signed-off-by: Piotr Sikora <piotr@cloudflare.com> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
-
Richard Levitte authored
Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 8123d158)
-
Alok Menghrajani authored
The current documentation contains a bunch of spelling and grammar mistakes. I also found it hard to understand some paragraphs, so here is my attempt to improve its readability. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 03b637a7)
-
- Nov 27, 2014
-
-
Matt Caswell authored
Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 2db95e09)
-
Matt Caswell authored
Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 5fc8bb6a)
-
Matt Caswell authored
PR#1767 Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 244d0955)
-
Matt Caswell authored
PR#3613 Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit fc3968a2)
-
Matt Caswell authored
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
-
Matt Caswell authored
Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 5e31a40f) Conflicts: apps/ocsp.c (cherry picked from commit e1645826)
-
André Guerreiro authored
PR#3612 Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit de87dd46) (cherry picked from commit 4d3df37b)
-
- Nov 26, 2014
-
-
Matt Caswell authored
PR#3608 Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 8a35dbb6)
-