Dr. Stephen Henson [Thu, 7 Feb 2013 21:06:37 +0000 (21:06 +0000)]
Fix IV check and padding removal.
Fix the calculation that checks there is enough room in a record
after removing padding and optional explicit IV. (by Steve)
For AEAD remove the correct number of padding bytes (by Andy)
(cherry picked from commit
32cc2479b473c49ce869e57fded7e9a77b695c0d)
Resolved conflicts:
ssl/s3_cbc.c
Andy Polyakov [Fri, 1 Feb 2013 14:31:50 +0000 (15:31 +0100)]
ssl/*: remove SSL3_RECORD->orig_len to restore binary compatibility.
Kludge alert. This is arranged by passing padding length in unused
bits of SSL3_RECORD->type, so that orig_len can be reconstructed.
(cherry picked from commit
8bfd4c659f180a6ce34f21c0e62956b362067fba)
Adam Langley [Wed, 6 Feb 2013 15:50:42 +0000 (15:50 +0000)]
Fix for EXP-RC2-CBC-MD5
MD5 should use little endian order. Fortunately the only ciphersuite
affected is EXP-RC2-CBC-MD5 (TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) which
is a rarely used export grade ciphersuite.
Dr. Stephen Henson [Wed, 6 Feb 2013 02:27:23 +0000 (02:27 +0000)]
prepare for next version
Dr. Stephen Henson [Mon, 4 Feb 2013 23:28:09 +0000 (23:28 +0000)]
prepare for release
Dr. Stephen Henson [Mon, 4 Feb 2013 23:09:24 +0000 (23:09 +0000)]
make update
Dr. Stephen Henson [Thu, 31 Jan 2013 15:19:00 +0000 (15:19 +0000)]
Add ordinal for CRYPTO_memcmp: since this will affect multiple
branches it needs to be in a "gap".
(cherry picked from commit
81ce0e14e72e8e255ad1bd9c7cfaa47a6291919c)
Dr. Stephen Henson [Mon, 4 Feb 2013 21:13:18 +0000 (21:13 +0000)]
Fix error codes.
(cherry picked from commit
35d732fc2e1badce13be22a044187ebd4d769552)
Dr. Stephen Henson [Mon, 4 Feb 2013 22:57:49 +0000 (22:57 +0000)]
Update CHANGES and NEWS
Andy Polyakov [Fri, 9 Nov 2012 13:58:40 +0000 (13:58 +0000)]
bn_word.c: fix overflow bug in BN_add_word.
(cherry picked from commit
134c00659a1bc67ad35a1e4620e16bc4315e6e37)
Andy Polyakov [Sat, 2 Feb 2013 18:52:43 +0000 (19:52 +0100)]
x86_64 assembly pack: keep making Windows build more robust.
PR: 2963 and a number of others
(cherry picked from commit
4568182a8b8cbfd15cbc175189029ac547bd1762)
Dr. Stephen Henson [Fri, 1 Feb 2013 16:04:59 +0000 (16:04 +0000)]
update NEWS
Andy Polyakov [Fri, 1 Feb 2013 09:10:32 +0000 (10:10 +0100)]
s3/s3_cbc.c: allow for compilations with NO_SHA256|512.
(cherry picked from commit
d5371324d978e4096bf99b9d0fe71b2cb65d9dc8)
Andy Polyakov [Fri, 1 Feb 2013 08:59:56 +0000 (09:59 +0100)]
ssl/s3_cbc.c: md_state alignment portability fix.
RISCs are picky and alignment granted by compiler for md_state can be
insufficient for SHA512.
(cherry picked from commit
36260233e7e3396feed884d3f501283e0453c04f)
Andy Polyakov [Fri, 1 Feb 2013 08:55:43 +0000 (09:55 +0100)]
ssl/s3_cbc.c: uint64_t portability fix.
Break dependency on uint64_t. It's possible to declare bits as
unsigned int, because TLS packets are limited in size and 32-bit
value can't overflow.
(cherry picked from commit
cab13fc8473856a43556d41d8dac5605f4ba1f91)
Ben Laurie [Mon, 28 Jan 2013 17:34:33 +0000 (17:34 +0000)]
Update DTLS code to match CBC decoding in TLS.
This change updates the DTLS code to match the constant-time CBC
behaviour in the TLS.
(cherry picked from commit
9f27de170d1b7bef3d46d41382dc4dafde8b3900)
Ben Laurie [Mon, 28 Jan 2013 17:33:18 +0000 (17:33 +0000)]
Don't crash when processing a zero-length, TLS >= 1.1 record.
The previous CBC patch was bugged in that there was a path through enc()
in s3_pkt.c/d1_pkt.c which didn't set orig_len. orig_len would be left
at the previous value which could suggest that the packet was a
sufficient length when it wasn't.
(cherry picked from commit
6cb19b7681f600b2f165e4adc57547b097b475fd)
Ben Laurie [Tue, 29 Jan 2013 18:06:08 +0000 (18:06 +0000)]
Fixups from previous commit.
Ben Laurie [Mon, 28 Jan 2013 18:24:55 +0000 (18:24 +0000)]
Oops. Add missing file.
(cherry picked from commit
014265eb02e26f35c8db58e2ccbf100b0b2f0072)
Ben Laurie [Tue, 29 Jan 2013 17:47:48 +0000 (17:47 +0000)]
Add a target so I can build this.
Ben Laurie [Mon, 28 Jan 2013 17:31:49 +0000 (17:31 +0000)]
Make CBC decoding constant time.
This patch makes the decoding of SSLv3 and TLS CBC records constant
time. Without this, a timing side-channel can be used to build a padding
oracle and mount Vaudenay's attack.
This patch also disables the stitched AESNI+SHA mode pending a similar
fix to that code.
In order to be easy to backport, this change is implemented in ssl/,
rather than as a generic AEAD mode. In the future this should be changed
around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
(cherry picked from commit
e130841bccfc0bb9da254dc84e23bc6a1c78a64e)
Conflicts:
crypto/evp/c_allc.c
ssl/ssl_algs.c
ssl/ssl_locl.h
ssl/t1_enc.c
Ben Laurie [Mon, 28 Jan 2013 17:30:38 +0000 (17:30 +0000)]
Add and use a constant-time memcmp.
This change adds CRYPTO_memcmp, which compares two vectors of bytes in
an amount of time that's independent of their contents. It also changes
several MAC compares in the code to use this over the standard memcmp,
which may leak information about the size of a matching prefix.
(cherry picked from commit
2ee798880a246d648ecddadc5b91367bee4a5d98)
Conflicts:
crypto/crypto.h
ssl/t1_lib.c
Dr. Stephen Henson [Thu, 24 Jan 2013 13:30:42 +0000 (13:30 +0000)]
Don't try and verify signatures if key is NULL (CVE-2013-0166)
Add additional check to catch this in ASN1_item_verify too.
Dr. Stephen Henson [Wed, 23 Jan 2013 01:04:36 +0000 (01:04 +0000)]
Don't include comp.h in cmd_cd.c if OPENSSL_NO_COMP set
Andy Polyakov [Tue, 22 Jan 2013 21:11:31 +0000 (22:11 +0100)]
x86_64 assembly pack: make Windows build more robust [from master].
PR: 2963 and a number of others
Dr. Stephen Henson [Sun, 20 Jan 2013 01:07:58 +0000 (01:07 +0000)]
Don't include comp.h if no-comp set.
Andy Polyakov [Sat, 19 Jan 2013 17:24:03 +0000 (18:24 +0100)]
engines/ccgost: GOST fixes [from master].
Submitted by: Dmitry Belyavsky, Seguei Leontiev
PR: 2821
Andy Polyakov [Sat, 19 Jan 2013 12:20:21 +0000 (13:20 +0100)]
.gitignore adjustments
Ben Laurie [Sat, 12 Jan 2013 12:25:30 +0000 (12:25 +0000)]
Correct EVP_PKEY_verifyrecover to EVP_PKEY_verify_recover (RT 2955).
Dr. Stephen Henson [Sun, 13 Jan 2013 22:57:22 +0000 (22:57 +0000)]
Add .gitignore
Dr. Stephen Henson [Sun, 30 Dec 2012 16:05:24 +0000 (16:05 +0000)]
make no-comp compile
Dr. Stephen Henson [Sun, 23 Dec 2012 18:19:47 +0000 (18:19 +0000)]
add missing \n
Dr. Stephen Henson [Mon, 10 Dec 2012 16:45:19 +0000 (16:45 +0000)]
PR: 2888
Reported by: Daniel Black <daniel.black@openquery.com>
Support renewing session tickets (backport from HEAD).
Dr. Stephen Henson [Thu, 6 Dec 2012 18:25:18 +0000 (18:25 +0000)]
Fix two bugs which affect delta CRL handling:
Use -1 to check all extensions in CRLs.
Always set flag for freshest CRL.
Dr. Stephen Henson [Tue, 4 Dec 2012 17:26:26 +0000 (17:26 +0000)]
check mval for NULL too
Dr. Stephen Henson [Mon, 3 Dec 2012 16:33:35 +0000 (16:33 +0000)]
fix leak
Dr. Stephen Henson [Thu, 29 Nov 2012 19:15:52 +0000 (19:15 +0000)]
PR: 2803
Submitted by: jean-etienne.schwartz@bull.net
In OCSP_basic_varify return an error if X509_STORE_CTX_init fails.
Dr. Stephen Henson [Thu, 22 Nov 2012 14:15:00 +0000 (14:15 +0000)]
reject zero length point format list or supported curves extensions
Dr. Stephen Henson [Wed, 21 Nov 2012 14:01:55 +0000 (14:01 +0000)]
PR: 2908
Submitted by: Dmitry Belyavsky <beldmit@gmail.com>
Fix DH double free if parameter generation fails.
Dr. Stephen Henson [Tue, 20 Nov 2012 00:29:09 +0000 (00:29 +0000)]
fix leaks
Dr. Stephen Henson [Mon, 19 Nov 2012 20:07:14 +0000 (20:07 +0000)]
correct docs
Dr. Stephen Henson [Sun, 18 Nov 2012 15:20:49 +0000 (15:20 +0000)]
PR: 2880
Submitted by: "Florian Rüchel" <florian.ruechel@ruhr-uni-bochum.de>
Correctly handle local machine keys in the capi ENGINE.
Andy Polyakov [Tue, 16 Oct 2012 08:20:18 +0000 (08:20 +0000)]
aix[64]-cc: get MT support right [from HEAD].
PR: 2896
Bodo Möller [Fri, 5 Oct 2012 20:51:31 +0000 (20:51 +0000)]
Fix EC_KEY initialization race.
Submitted by: Adam Langley
Dr. Stephen Henson [Fri, 5 Oct 2012 13:00:18 +0000 (13:00 +0000)]
backport OCSP fix enhancement
Ben Laurie [Thu, 4 Oct 2012 15:16:12 +0000 (15:16 +0000)]
Backport OCSP Stapling fix.
Ben Laurie [Thu, 4 Oct 2012 15:04:26 +0000 (15:04 +0000)]
Fix warning.
Ben Laurie [Thu, 4 Oct 2012 15:03:08 +0000 (15:03 +0000)]
Fix warning (hope this doesn't break other platforms, there's a twisty
little maze of #ifs, all different).
Bodo Möller [Mon, 24 Sep 2012 19:50:00 +0000 (19:50 +0000)]
Fix Valgrind warning.
Submitted by: Adam Langley
Richard Levitte [Mon, 24 Sep 2012 18:49:01 +0000 (18:49 +0000)]
* Configure: make the debug-levitte-linux{elf,noasm} less extreme.
Richard Levitte [Fri, 21 Sep 2012 13:08:26 +0000 (13:08 +0000)]
* ssl/t1_enc.c (tls1_change_cipher_state): Stupid bug. Fortunately in
debugging code that's seldom used.
Bodo Möller [Mon, 17 Sep 2012 17:26:03 +0000 (17:26 +0000)]
Fix warning.
Submitted by: Chromium Authors
Dr. Stephen Henson [Tue, 11 Sep 2012 13:45:11 +0000 (13:45 +0000)]
fix memory leak
Dr. Stephen Henson [Sat, 1 Sep 2012 11:30:19 +0000 (11:30 +0000)]
Don't load GOST ENGINE if it is already loaded.
Multiple copies of the ENGINE will cause problems when it is cleaned up as
the methods are stored in static structures which will be overwritten and
freed up more than once.
Set static methods to NULL when the ENGINE is freed so it can be reloaded.
Andy Polyakov [Fri, 17 Aug 2012 20:01:47 +0000 (20:01 +0000)]
sha1-armv4-large.pl: comply with ABI [from HEAD].
Andy Polyakov [Mon, 13 Aug 2012 16:39:42 +0000 (16:39 +0000)]
gosthash.c: use memmove in circle_xor8, as input pointers can be equal
[from HEAD].
PR: 2858
Andy Polyakov [Mon, 13 Aug 2012 16:21:00 +0000 (16:21 +0000)]
./Configure: libcrypto.a can grow to many GB on Solaris 10, because of ar bug
[from HEAD].
PR: 2838
Richard Levitte [Thu, 5 Jul 2012 08:49:02 +0000 (08:49 +0000)]
Cosmetics: remove duplicate symbol in crypto/symhacks.h
Richard Levitte [Wed, 4 Jul 2012 17:27:43 +0000 (17:27 +0000)]
Cosmetic: Reorder so it's more similar to the Unixly build.
Andy Polyakov [Sun, 1 Jul 2012 09:12:23 +0000 (09:12 +0000)]
bss_dgram.c: fix typos in Windows code.
Andy Polyakov [Wed, 27 Jun 2012 13:04:17 +0000 (13:04 +0000)]
x86_64 assembly pack: make it possible to compile with Perl located
on path with spaces [from HEAD].
PR: 2835
Dr. Stephen Henson [Tue, 19 Jun 2012 13:38:47 +0000 (13:38 +0000)]
oops, add -debug_decrypt option which was accidenatally left out
Andy Polyakov [Tue, 19 Jun 2012 12:50:09 +0000 (12:50 +0000)]
bss_dgram.c: fix bugs [from HEAD].
PR: 2833
Andy Polyakov [Wed, 16 May 2012 18:22:39 +0000 (18:22 +0000)]
s2_clnt.c: compensate for compiler bug [from HEAD].
Dr. Stephen Henson [Fri, 11 May 2012 13:50:09 +0000 (13:50 +0000)]
PR: 2813
Reported by: Constantine Sapuntzakis <csapuntz@gmail.com>
Fix possible deadlock when decoding public keys.
Dr. Stephen Henson [Thu, 10 May 2012 16:01:57 +0000 (16:01 +0000)]
prepare for next version
Dr. Stephen Henson [Thu, 10 May 2012 14:48:54 +0000 (14:48 +0000)]
prepare for 1.0.0j release
Dr. Stephen Henson [Thu, 10 May 2012 14:45:05 +0000 (14:45 +0000)]
update NEWS
Dr. Stephen Henson [Thu, 10 May 2012 14:44:20 +0000 (14:44 +0000)]
Sanity check record length before skipping explicit IV in DTLS
to fix DoS attack.
Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
fuzzing as a service testing platform.
(CVE-2012-2333)
Dr. Stephen Henson [Thu, 10 May 2012 13:28:28 +0000 (13:28 +0000)]
Reported by: Solar Designer of Openwall
Make sure tkeylen is initialised properly when encrypting CMS messages.
Richard Levitte [Fri, 4 May 2012 10:43:19 +0000 (10:43 +0000)]
Correct environment variable is OPENSSL_ALLOW_PROXY_CERTS.
Andy Polyakov [Fri, 27 Apr 2012 20:21:26 +0000 (20:21 +0000)]
ppccpuid.pl: branch hints in OPENSSL_cleanse impact small block performance
of digest algorithms, mosty SHA, on Power7. Mystery of century, why SHA,
why slower algorithm are affected more... [from HEAD].
PR: 2794
Submitted by: Ashley Lai
Dr. Stephen Henson [Sun, 22 Apr 2012 13:31:37 +0000 (13:31 +0000)]
correct error code
Dr. Stephen Henson [Sun, 22 Apr 2012 13:21:59 +0000 (13:21 +0000)]
correct old FAQ answers, sync with HEAD
Dr. Stephen Henson [Thu, 19 Apr 2012 17:02:49 +0000 (17:02 +0000)]
prepare for next version
Dr. Stephen Henson [Thu, 19 Apr 2012 11:47:20 +0000 (11:47 +0000)]
prepare for 1.0.0i release
Dr. Stephen Henson [Thu, 19 Apr 2012 11:45:37 +0000 (11:45 +0000)]
update NEWS
Dr. Stephen Henson [Thu, 19 Apr 2012 11:44:51 +0000 (11:44 +0000)]
Check for potentially exploitable overflows in asn1_d2i_read_bio
BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
in CRYPTO_realloc_clean.
Thanks to Tavis Ormandy, Google Security Team, for discovering this
issue and to Adam Langley <agl@chromium.org> for fixing it. (CVE-2012-2110)
Andy Polyakov [Thu, 19 Apr 2012 06:40:47 +0000 (06:40 +0000)]
Makefile.org: clear yet another environment variable [from HEAD].
PR: 2793
Andy Polyakov [Mon, 16 Apr 2012 17:43:28 +0000 (17:43 +0000)]
OPENSSL_NO_SOCK fixes [from HEAD].
PR: 2791
Submitted by: Ben Noordhuis
Andy Polyakov [Mon, 16 Apr 2012 17:37:04 +0000 (17:37 +0000)]
Minor compatibility fixes [from HEAD].
PR: 2790
Submitted by: Alexei Khlebnikov
Andy Polyakov [Sun, 15 Apr 2012 17:23:23 +0000 (17:23 +0000)]
s3_srvr.c: fix typo [from HEAD].
PR: 2538
Dr. Stephen Henson [Tue, 10 Apr 2012 22:28:34 +0000 (22:28 +0000)]
update rather ancient EVP digest documentation
Dr. Stephen Henson [Sat, 31 Mar 2012 18:02:35 +0000 (18:02 +0000)]
PR: 2778(part)
Submitted by: John Fitzgibbon <john_fitzgibbon@yahoo.com>
Time is always encoded as 4 bytes, not sizeof(Time).
Andy Polyakov [Thu, 29 Mar 2012 17:51:37 +0000 (17:51 +0000)]
ans1/tasn_prn.c: avoid bool in variable names [from HEAD].
PR: 2776
Dr. Stephen Henson [Thu, 22 Mar 2012 15:43:06 +0000 (15:43 +0000)]
Submitted by: Markus Friedl <mfriedl@gmail.com>
Fix memory leaks in 'goto err' cases.
Dr. Stephen Henson [Sun, 18 Mar 2012 18:14:46 +0000 (18:14 +0000)]
Always use SSLv23_{client,server}_method in s_client.c and s_server.c,
the old code came from SSLeay days before TLS was even supported.
Richard Levitte [Wed, 14 Mar 2012 12:38:55 +0000 (12:38 +0000)]
cipher should only be set to PSK if JPAKE is used.
Andy Polyakov [Tue, 13 Mar 2012 19:22:26 +0000 (19:22 +0000)]
config: compensate for bug in Solaris cc drivers, which can remove /dev/null
[from HEAD,1.0.1]
Andy Polyakov [Tue, 13 Mar 2012 19:19:57 +0000 (19:19 +0000)]
x86_64-xlate.pl: remove old kludge.
PR: 2435,2440
Dr. Stephen Henson [Mon, 12 Mar 2012 16:35:49 +0000 (16:35 +0000)]
prepare for next version
Dr. Stephen Henson [Mon, 12 Mar 2012 15:26:48 +0000 (15:26 +0000)]
corrected fix to PR#2711 and also cover mime_param_cmp
Dr. Stephen Henson [Mon, 12 Mar 2012 14:45:07 +0000 (14:45 +0000)]
correct NEWS
Dr. Stephen Henson [Mon, 12 Mar 2012 14:32:54 +0000 (14:32 +0000)]
fix error code
Dr. Stephen Henson [Mon, 12 Mar 2012 14:24:50 +0000 (14:24 +0000)]
prepare for release
Dr. Stephen Henson [Mon, 12 Mar 2012 14:23:35 +0000 (14:23 +0000)]
update NEWS
Dr. Stephen Henson [Mon, 12 Mar 2012 14:22:59 +0000 (14:22 +0000)]
Fix for CMS/PKCS7 MMA. If RSA decryption fails use a random key and
continue with symmetric decryption process to avoid leaking timing
information to an attacker.
Thanks to Ivan Nestlerode <inestlerode@us.ibm.com> for discovering
this issue. (CVE-2012-0884)
Dr. Stephen Henson [Fri, 9 Mar 2012 15:52:09 +0000 (15:52 +0000)]
PR: 2756
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Fix DTLS timeout handling.
Dr. Stephen Henson [Thu, 8 Mar 2012 14:02:00 +0000 (14:02 +0000)]
check return value of BIO_write in PKCS7_decrypt
Dr. Stephen Henson [Tue, 6 Mar 2012 13:46:52 +0000 (13:46 +0000)]
PR: 2755
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Reduce MTU after failed transmissions.