Huzaifa Sidhpurwala [Thu, 26 Jun 2014 22:45:58 +0000 (23:45 +0100)]
Make sure BN_sqr can never return a negative value.
PR#3410
(cherry picked from commit
e14e764c0d5d469da63d0819c6ffc0e1e9e7f0bb)
Jenny Yung [Thu, 26 Jun 2014 22:30:57 +0000 (23:30 +0100)]
Memory allocation checks.
PR#3399.
(cherry picked from commit
da0d5e78bcd35a9fd394fb7b7b058722125e76cb)
Miod Vallat [Wed, 4 Jun 2014 07:59:58 +0000 (03:59 -0400)]
Fix off-by-one errors in ssl_cipher_get_evp()
In the ssl_cipher_get_evp() function, fix off-by-one errors in index validation before accessing arrays.
Bug discovered and fixed by Miod Vallat from the OpenBSD team.
PR#3375
Matt Caswell [Sun, 22 Jun 2014 22:22:33 +0000 (23:22 +0100)]
Revert "Fix off-by-one errors in ssl_cipher_get_evp()"
This reverts commit
7e98378d155263bebbea3b3c13c1b6a780c8a6d3.
Incorrect attribution.
Dr. Stephen Henson [Sat, 14 Jun 2014 21:24:08 +0000 (22:24 +0100)]
Accept CCS after sending finished.
Allow CCS after finished has been sent by client: at this point
keys have been correctly set up so it is OK to accept CCS from
server. Without this renegotiation can sometimes fail.
PR#3400
(cherry picked from commit
99cd6a91fcb0931feaebbb4832681d40a66fad41)
Matt Caswell [Tue, 10 Jun 2014 22:24:28 +0000 (23:24 +0100)]
Fixed incorrect return code handling in ssl3_final_finish_mac.
Based on an original patch by Joel Sing (OpenBSD) who also originally identified the issue.
Matt Caswell [Fri, 13 Jun 2014 14:55:57 +0000 (15:55 +0100)]
Revert "Fixed incorrect return code handling in ssl3_final_finish_mac"
This reverts commit
e05282f8b0b6c6ea063267eb86c4d6b4702c41a1.
Missing attribution.
Kurt Cancemi [Wed, 4 Jun 2014 07:59:58 +0000 (03:59 -0400)]
Fix off-by-one errors in ssl_cipher_get_evp()
In the ssl_cipher_get_evp() function, fix off-by-one errors in index validation before accessing arrays.
PR#3375
Ben Laurie [Mon, 19 May 2014 17:21:39 +0000 (18:21 +0100)]
Allow the maximum value.
(Backported as a result of PR#3377 reported by Rainer Jung <rainer.jung@kippdata.de>)
Dr. Stephen Henson [Wed, 11 Jun 2014 13:31:08 +0000 (14:31 +0100)]
Fix compilation with no-comp
(cherry picked from commit
7239a09c7b5757ed8d0e9869f3e9b03c0e11f4d1)
Matt Caswell [Tue, 10 Jun 2014 22:24:28 +0000 (23:24 +0100)]
Fixed incorrect return code handling in ssl3_final_finish_mac
Dr. Stephen Henson [Tue, 10 Jun 2014 13:47:29 +0000 (14:47 +0100)]
Fix null pointer errors.
PR#3394
(cherry picked from commit
7a9d59c148b773f59a41f8697eeecf369a0974c2)
Dr. Stephen Henson [Mon, 9 Jun 2014 08:39:09 +0000 (09:39 +0100)]
Update strength_bits for 3DES.
Fix strength_bits to 112 for 3DES.
Jakub Wilk [Sat, 7 Jun 2014 12:37:17 +0000 (14:37 +0200)]
Create ~/.rnd with mode 0600 instead of 0666
Because of a missing include <fcntl.h> we don't have O_CREATE and don't create
the file with open() using mode 0600 but fall back to using fopen() with the
default umask followed by a chmod().
Problem found by Jakub Wilk <jwilk@debian.org>.
Dr. Stephen Henson [Sat, 7 Jun 2014 17:18:28 +0000 (18:18 +0100)]
update NEWS
Dr. Stephen Henson [Sat, 7 Jun 2014 14:21:13 +0000 (15:21 +0100)]
Make tls_session_secret_cb work with CVE-2014-0224 fix.
If application uses tls_session_secret_cb for session resumption
set the CCS_OK flag.
(cherry picked from commit
953c592572e8811b7956cc09fbd8e98037068b58)
Matt Caswell [Sat, 7 Jun 2014 11:30:18 +0000 (12:30 +0100)]
Fixed minor duplication in docs
Dr. Stephen Henson [Fri, 6 Jun 2014 12:25:48 +0000 (13:25 +0100)]
Correct wording for website scripts.
Dr. Stephen Henson [Fri, 6 Jun 2014 11:28:54 +0000 (12:28 +0100)]
Add known issue.
Matt Caswell [Mon, 26 May 2014 23:26:55 +0000 (00:26 +0100)]
Fixed Windows compilation failure
Dr. Stephen Henson [Thu, 5 Jun 2014 09:43:52 +0000 (10:43 +0100)]
Prepare for 1.0.0n-dev
Dr. Stephen Henson [Thu, 5 Jun 2014 09:42:13 +0000 (10:42 +0100)]
Prepare for 1.0.0m release
Dr. Stephen Henson [Thu, 5 Jun 2014 09:42:13 +0000 (10:42 +0100)]
make update
Dr. Stephen Henson [Thu, 5 Jun 2014 08:00:01 +0000 (09:00 +0100)]
Update CHANGES and NEWS
Dr. Stephen Henson [Thu, 29 May 2014 14:00:05 +0000 (15:00 +0100)]
Fix CVE-2014-3470
Check session_cert is not NULL before dereferencing it.
Dr. Stephen Henson [Fri, 16 May 2014 12:00:45 +0000 (13:00 +0100)]
Fix CVE-2014-0221
Unnecessary recursion when receiving a DTLS hello request can be used to
crash a DTLS client. Fixed by handling DTLS hello request without recursion.
Thanks to Imre Rad (Search-Lab Ltd.) for discovering this issue.
Dr. Stephen Henson [Fri, 16 May 2014 11:55:16 +0000 (12:55 +0100)]
Additional CVE-2014-0224 protection.
Return a fatal error if an attempt is made to use a zero length
master secret.
Dr. Stephen Henson [Fri, 16 May 2014 11:49:48 +0000 (12:49 +0100)]
Fix for CVE-2014-0224
Only accept change cipher spec when it is expected instead of at any
time. This prevents premature setting of session keys before the master
secret is determined which an attacker could use as a MITM attack.
Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for reporting this issue
and providing the initial fix this patch is based on.
Dr. Stephen Henson [Tue, 13 May 2014 17:48:31 +0000 (18:48 +0100)]
Fix for CVE-2014-0195
A buffer overrun attack can be triggered by sending invalid DTLS fragments
to an OpenSSL DTLS client or server. This is potentially exploitable to
run arbitrary code on a vulnerable client or server.
Fixed by adding consistency check for DTLS fragments.
Thanks to Jüri Aedla for reporting this issue.
zhu qun-ying [Mon, 2 Jun 2014 13:38:52 +0000 (14:38 +0100)]
Free up s->d1->buffered_app_data.q properly.
PR#3286
(cherry picked from commit
71e95000afb2227fe5cac1c79ae884338bcd8d0b)
Dr. Stephen Henson [Mon, 2 Jun 2014 12:40:00 +0000 (13:40 +0100)]
Make PKCS7_NOCERTS match documentation.
As documented PKCS7_NOCERTS should only exclude the signer's certificate
and not any supplied in the "certs" parameter. This makes it possible to
exclude the signer's certificate but include other certificates. Applications
that don't want to include other certificates should set "certs" to NULL
anyway.
(cherry picked from commit
5c6f808b66f1a2e0fb2a508b24b845a88803fe3a)
Annie Yousar [Mon, 2 Jun 2014 12:36:13 +0000 (13:36 +0100)]
Fix typo.
PR#2677.
Sami Farin [Mon, 2 Jun 2014 11:24:19 +0000 (12:24 +0100)]
Typo: set i to -1 before goto.
PR#3302
(cherry picked from commit
9717f01951f976f76dd40a38d9fc7307057fa4c4)
Matt Caswell [Sun, 1 Jun 2014 20:43:51 +0000 (21:43 +0100)]
Added SSLErr call for internal error in dtls1_buffer_record
David Ramos [Sun, 1 Jun 2014 20:42:47 +0000 (21:42 +0100)]
Delays the queue insertion until after the ssl3_setup_buffers() call due to use-after-free bug. PR#3362
Dr. Stephen Henson [Sun, 1 Jun 2014 14:03:00 +0000 (15:03 +0100)]
Set default global mask to UTF8 only.
(cherry picked from commit
3009244da47b989c4cc59ba02cf81a4e9d8f8431)
David Ramos [Sun, 1 Jun 2014 13:30:10 +0000 (14:30 +0100)]
Allocate extra space when NETSCAPE_HANG_BUG defined.
Make sure there is an extra 4 bytes for server done message when
NETSCAPE_HANG_BUG is defined.
PR#3361
(cherry picked from commit
673c42b2380c34e7500f05e7f00c674cc677a065)
Hubert Kario [Thu, 12 Sep 2013 09:37:12 +0000 (11:37 +0200)]
add description of -attime to man page
the verify app man page didn't describe the usage of attime option
even though it was listed as a valid option in the -help message.
This patch fixes this omission.
Hubert Kario [Tue, 10 Sep 2013 13:59:13 +0000 (15:59 +0200)]
add description of -no_ecdhe option to s_server man page
While the -help message references this option, the man page
doesn't mention the -no_ecdhe option.
This patch fixes this omission.
Dr. Stephen Henson [Thu, 29 May 2014 13:07:49 +0000 (14:07 +0100)]
Set version number correctly.
PR#3249
(cherry picked from commit
8909bf20269035d295743fca559207ef2eb84eb3)
František Bořánek [Thu, 29 May 2014 12:49:10 +0000 (13:49 +0100)]
Fix memory leak.
PR#3278
(cherry picked from commit
de56fe797081fc09ebd1add06d6e2df42a324fd5)
Ben Laurie [Mon, 19 May 2014 17:20:54 +0000 (18:20 +0100)]
Fix signed/unsigned warning.
(cherry picked from commit
989d87cb1a174a951efd829ff6b2f68a322f9df8)
Dr. Stephen Henson [Wed, 21 May 2014 09:50:19 +0000 (10:50 +0100)]
Fix for PKCS12_create if no-rc2 specified.
Use triple DES for certificate encryption if no-rc2 is
specified.
PR#3357
(cherry picked from commit
2e2a6d0ecd8f6984c692078ec2e2683690e0bc59)
Dr. Stephen Henson [Wed, 21 May 2014 09:39:11 +0000 (10:39 +0100)]
Change default cipher in smime app to des3.
PR#3357
(cherry picked from commit
ca3ffd9670f2b589bf8cc04923f953e06d6fbc58)
Peter Mosmans [Tue, 27 May 2014 22:26:11 +0000 (23:26 +0100)]
Fix for test_bn regular expression to work on Windows using MSYS. PR#3346
Matt Caswell [Sun, 25 May 2014 22:37:53 +0000 (23:37 +0100)]
Fixed error in args for SSL_set_msg_callback and SSL_set_msg_callback_arg
Matt Caswell [Sat, 24 May 2014 22:55:27 +0000 (23:55 +0100)]
Fix for non compilation with TLS_DEBUG defined
Matt Caswell [Wed, 21 May 2014 23:07:35 +0000 (00:07 +0100)]
Fixed minor copy&paste error, and stray space causing rendering problem
Janpopan [Sun, 4 May 2014 16:13:43 +0000 (18:13 +0200)]
Fix a wrong parameter count ERR_add_error_data
Matt Caswell [Thu, 15 May 2014 20:19:46 +0000 (21:19 +0100)]
Removed note in BUGS section about AEAD ciphers - inadvertently added to wrong branch
Jeffrey Walton [Wed, 14 May 2014 21:49:30 +0000 (22:49 +0100)]
Fix grammar error in verify pod. PR#3355
Jeffrey Walton [Wed, 14 May 2014 21:48:26 +0000 (22:48 +0100)]
Add information to BUGS section of enc documentation. PR#3354
Michal Bozon [Wed, 14 May 2014 20:07:51 +0000 (21:07 +0100)]
Corrected POD syntax errors. PR#3353
Kurt Roeckx [Mon, 12 May 2014 16:19:14 +0000 (18:19 +0200)]
Check sk_SSL_CIPHER_num() after assigning sk.
Jean-Paul Calderone [Thu, 3 Apr 2014 00:47:38 +0000 (20:47 -0400)]
Correct the return type on the signature for X509_STORE_CTX_get_ex_data given in the pod file.
Serguei E. Leontiev [Sun, 11 May 2014 18:46:42 +0000 (19:46 +0100)]
Replace manual ASN1 decoder with ASN1_get_object
Replace manual ASN.1 decoder with ASN1_get object. This
will decode the tag and length properly and check against
it does not exceed the supplied buffer length.
PR#3335
(cherry picked from commit
b0308dddd1cc6a8e1de803ef29ba6da25ee072c2)
Matt Caswell [Sun, 11 May 2014 23:38:37 +0000 (00:38 +0100)]
Fixed NULL pointer dereference. See PR#3321
Günther Noack [Thu, 1 May 2014 11:33:11 +0000 (13:33 +0200)]
Avoid out-of-bounds write in SSL_get_shared_ciphers
PR: 3317
Viktor Dukhovni [Sun, 11 May 2014 19:28:56 +0000 (20:28 +0100)]
Fix infinite loop. PR#3347
Tim Hudson [Sun, 11 May 2014 12:29:59 +0000 (13:29 +0100)]
safety check to ensure we dont send out beyond the users buffer
Dr. Stephen Henson [Thu, 8 May 2014 12:17:11 +0000 (13:17 +0100)]
Return an error if no recipient type matches.
If the key type does not match any CMS recipient type return
an error instead of using a random key (MMA mitigation). This
does not leak any useful information to an attacker.
PR#3348
(cherry picked from commit
83a3182e0560f76548f4378325393461f6275493)
Tim Hudson [Mon, 5 May 2014 00:53:39 +0000 (10:53 +1000)]
coverity 966576 - close socket in error path
Tim Hudson [Mon, 5 May 2014 00:39:30 +0000 (10:39 +1000)]
PR#3342 fix resource leak coverity issue 966577
Tim Hudson [Sun, 4 May 2014 22:22:42 +0000 (08:22 +1000)]
fix coverity issue 966597 - error line is not always initialised
Matt Caswell [Wed, 7 May 2014 22:21:02 +0000 (23:21 +0100)]
Fixed NULL pointer dereference in PKCS7_dataDecode reported by David Ramos in PR#3339
Geoff Thorpe [Sun, 4 May 2014 22:44:14 +0000 (18:44 -0400)]
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>
Geoff Thorpe [Sun, 4 May 2014 20:19:22 +0000 (16:19 -0400)]
bignum: allow concurrent BN_MONT_CTX_set_locked()
The lazy-initialisation of BN_MONT_CTX was serialising all threads, as
noted by Daniel Sands and co at Sandia. This was to handle the case that
2 or more threads race to lazy-init the same context, but stunted all
scalability in the case where 2 or more threads are doing unrelated
things! We favour the latter case by punishing the former. The init work
gets done by each thread that finds the context to be uninitialised, and
we then lock the "set" logic after that work is done - the winning
thread's work gets used, the losing threads throw away what they've done.
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Geoff Thorpe [Sun, 27 Apr 2014 20:06:50 +0000 (16:06 -0400)]
dso: eliminate VMS code on non-VMS systems
Even though the meat of dso_vms.c is compiled out on non-VMS builds,
the (pre-)compiler still traverses some of the macro handling. This
trips up at least one non-VMS build configuration, so this commit
makes the skip-VMS case more robust.
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Dr. Stephen Henson [Tue, 6 May 2014 13:07:37 +0000 (14:07 +0100)]
Initialize num properly.
PR#3289
PR#3345
(cherry picked from commit
3ba1e406c2309adb427ced9815ebf05f5b58d155)
Dr. Stephen Henson [Tue, 6 May 2014 13:02:17 +0000 (14:02 +0100)]
Set Enveloped data version to 2 if ktri version not zero.
(cherry picked from commit
9c5d953a07f472452ae2cb578e39eddea2de2b9c)
David Ramos [Sat, 3 May 2014 10:00:27 +0000 (12:00 +0200)]
Double free in i2o_ECPublicKey
PR: 3338
Jeff Trawick [Sun, 13 Apr 2014 13:10:17 +0000 (15:10 +0200)]
typo in SSL_get_peer_cert_chain docs
RT: 3304
Matt Caswell [Wed, 30 Apr 2014 22:58:24 +0000 (23:58 +0100)]
Fixed missing =back commands
Lubomir Rintel [Mon, 21 Oct 2013 09:03:01 +0000 (11:03 +0200)]
POD: Fix item numbering
Newer pod2man considers =item [1-9] part of a numbered list, while =item
0 starts an unnumbered list. Add a zero effect formatting mark to override
this.
doc/apps/smime.pod around line 315: Expected text after =item, not a
number
...
PR#3146
mancha [Fri, 25 Apr 2014 14:58:49 +0000 (14:58 +0000)]
Fix version documentation.
Specify -f is for compilation flags. Add -d to synopsis section.
(cherry picked from commit
006397ea62bbcae22c8664d53c2222b808c4bdd1)
Closes #80.
mancha [Thu, 24 Apr 2014 19:06:20 +0000 (19:06 +0000)]
Fix eckey_priv_encode()
Fix eckey_priv_encode to return an error on failure of i2d_ECPrivateKey.
Steve Marquess [Thu, 24 Apr 2014 11:13:05 +0000 (07:13 -0400)]
Add new sponsors
(cherry picked from commit
351f0a124bffaa94d2a8abdec2e7dde5ae9c457d)
Ben Laurie [Wed, 23 Apr 2014 06:24:03 +0000 (07:24 +0100)]
Fix use after free.
mancha [Tue, 22 Apr 2014 12:11:56 +0000 (13:11 +0100)]
Fix double frees.
Conflicts:
CHANGES
Dr. Stephen Henson [Wed, 16 Apr 2014 11:15:43 +0000 (12:15 +0100)]
Document -debug_decrypt option.
(cherry picked from commit
0dd5b94aeb77c2982bdf6886962b7a8491c6c9ed)
Dr. Stephen Henson [Tue, 15 Apr 2014 17:48:54 +0000 (18:48 +0100)]
Extension checking fixes.
When looking for an extension we need to set the last found
position to -1 to properly search all extensions.
PR#3309.
(cherry picked from commit
300b9f0b704048f60776881f1d378c74d9c32fbd)
Dr. Stephen Henson [Tue, 15 Apr 2014 17:17:12 +0000 (18:17 +0100)]
Clarify CMS_decrypt behaviour.
(cherry picked from commit
5f8e9a477a18551052f2019c1f374061acbaa5e6)
Dr. Stephen Henson [Fri, 11 Apr 2014 01:50:51 +0000 (02:50 +0100)]
Add new key fingerprint.
(cherry picked from commit
3143a332e8f2f5ca1a6f0262a1a1a66103f2adf7)
Dr. Stephen Henson [Wed, 9 Apr 2014 14:42:40 +0000 (15:42 +0100)]
Fix free errors in ocsp utility.
Keep copy of any host, path and port values allocated by
OCSP_parse_url and free as necessary.
(cherry picked from commit
5219d3dd350cc74498dd49daef5e6ee8c34d9857)
Dr. Stephen Henson [Mon, 7 Apr 2014 12:02:10 +0000 (13:02 +0100)]
Document -verify_return_error option.
(cherry picked from commit
4e6c12f3088d3ee5747ec9e16d03fc671b8f40be)
Andy Polyakov [Sun, 6 Apr 2014 15:23:55 +0000 (17:23 +0200)]
crypto/modes: strict aliasing fixes from master.
Dr. Stephen Henson [Fri, 4 Apr 2014 11:44:43 +0000 (12:44 +0100)]
Use correct length when prompting for password.
Use bufsiz - 1 not BUFSIZ - 1 when prompting for a password in
the openssl utility.
Thanks to Rob Mackinnon, Leviathan Security for reporting this issue.
(cherry picked from commit
7ba08a4d73c1bdfd3aced09a628b1d7d7747cdca)
Dr. Stephen Henson [Fri, 4 Apr 2014 11:46:39 +0000 (12:46 +0100)]
Update FAQ.
(cherry picked from commit
6cc0068430d0a4abdef0b466d422e6a4d154a5fe)
Dr. Stephen Henson [Thu, 3 Apr 2014 12:27:08 +0000 (13:27 +0100)]
Document new crl option.
(cherry picked from commit
dbb7654dc189992966ecd95ca66f7a3bb011ab9b)
Tim Hudson [Thu, 3 Apr 2014 12:23:51 +0000 (13:23 +0100)]
Add option to generate old hash format.
New -hash_old to generate CRL hashes using old
(before OpenSSL 1.0.0) algorithm.
(cherry picked from commit
de2d97cd799f38024d70847bab37d91aa5a2536e)
Eric Young [Wed, 2 Apr 2014 18:50:33 +0000 (19:50 +0100)]
Fix base64 decoding bug.
A short PEM encoded sequence if passed to the BIO, and the file
had 2 \n following would fail.
PR#3289
(cherry picked from commit
10378fb5f4c67270b800e8f7c600cd0548874811)
Dr. Stephen Henson [Wed, 12 Mar 2014 14:43:03 +0000 (14:43 +0000)]
update NEWS
Dr. Stephen Henson [Wed, 12 Mar 2014 14:35:54 +0000 (14:35 +0000)]
Update ordinals.
Use a previously unused value as we will be updating multiple released
branches.
Dr. Stephen Henson [Wed, 12 Mar 2014 14:16:19 +0000 (14:16 +0000)]
Fix for CVE-2014-0076
Fix for the attack described in the paper "Recovering OpenSSL
ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack"
by Yuval Yarom and Naomi Benger. Details can be obtained from:
http://eprint.iacr.org/2014/140
Thanks to Yuval Yarom and Naomi Benger for discovering this
flaw and to Yuval Yarom for supplying a fix.
Dr. Stephen Henson [Mon, 10 Mar 2014 15:45:30 +0000 (15:45 +0000)]
Andy Polyakov [Fri, 7 Mar 2014 10:02:25 +0000 (11:02 +0100)]
engines/ccgost/gosthash.c: simplify and avoid SEGV.
PR: 3275
(cherry picked from commit
ea38f020492042bc1d1adc26ef197b0b9cadf968)
Dr. Stephen Henson [Wed, 26 Feb 2014 15:28:20 +0000 (15:28 +0000)]
Fix for WIN32 builds with KRB5
(cherry picked from commit
3eddd1706a30cdf3dc9278692d8ee9038eac8a0d)
Andy Polyakov [Tue, 25 Feb 2014 21:21:54 +0000 (22:21 +0100)]
ssl/t1_enc.c: check EVP_MD_CTX_copy return value.
PR: 3201
(cherry picked from commit
03da57fe14f2de5bde9d4496a2ae9a4ae8879f88)
Dr. Stephen Henson [Tue, 25 Feb 2014 12:11:22 +0000 (12:11 +0000)]
Avoid Windows 8 Getversion deprecated errors.
Windows 8 SDKs complain that GetVersion() is deprecated.
We only use GetVersion like this:
(GetVersion() < 0x80000000)
which checks if the Windows version is NT based. Use a macro check_winnt()
which uses GetVersion() on older SDK versions and true otherwise.
(cherry picked from commit
a4cc3c8041104896d51ae12ef7b678c31808ce52)
Andy Polyakov [Mon, 24 Feb 2014 15:54:10 +0000 (16:54 +0100)]
BC-32.pl: pre-1.0.2-specific refresh for Borland C.
PR: 3251
Suggested by: Thorsten Schöning
(cherry picked from commit
3ae1b53496acd3f25e9b9089ed5fb6000e41a557)