mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-04 06:15:24 +00:00
security/openssl111: Security hardening update to 1.1.1c
MFH: 2019Q2
This commit is contained in:
parent
b3f4ad283a
commit
062934f899
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=502908
@ -2,8 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= openssl
|
||||
PORTVERSION= 1.1.1b
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 1.1.1c
|
||||
CATEGORIES= security devel
|
||||
MASTER_SITES= https://www.openssl.org/source/ \
|
||||
ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1551251313
|
||||
SHA256 (openssl-1.1.1b.tar.gz) = 5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b
|
||||
SIZE (openssl-1.1.1b.tar.gz) = 8213737
|
||||
TIMESTAMP = 1559070548
|
||||
SHA256 (openssl-1.1.1c.tar.gz) = f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90
|
||||
SIZE (openssl-1.1.1c.tar.gz) = 8864262
|
||||
|
@ -1,66 +0,0 @@
|
||||
From f426625b6ae9a7831010750490a5f0ad689c5ba3 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Caswell <matt@openssl.org>
|
||||
Date: Tue, 5 Mar 2019 14:39:15 +0000
|
||||
Subject: [PATCH] Prevent over long nonces in ChaCha20-Poly1305
|
||||
|
||||
ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for
|
||||
every encryption operation. RFC 7539 specifies that the nonce value (IV)
|
||||
should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and
|
||||
front pads the nonce with 0 bytes if it is less than 12 bytes. However it
|
||||
also incorrectly allows a nonce to be set of up to 16 bytes. In this case
|
||||
only the last 12 bytes are significant and any additional leading bytes are
|
||||
ignored.
|
||||
|
||||
It is a requirement of using this cipher that nonce values are unique.
|
||||
Messages encrypted using a reused nonce value are susceptible to serious
|
||||
confidentiality and integrity attacks. If an application changes the
|
||||
default nonce length to be longer than 12 bytes and then makes a change to
|
||||
the leading bytes of the nonce expecting the new value to be a new unique
|
||||
nonce then such an application could inadvertently encrypt messages with a
|
||||
reused nonce.
|
||||
|
||||
Additionally the ignored bytes in a long nonce are not covered by the
|
||||
integrity guarantee of this cipher. Any application that relies on the
|
||||
integrity of these ignored leading bytes of a long nonce may be further
|
||||
affected.
|
||||
|
||||
Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe
|
||||
because no such use sets such a long nonce value. However user
|
||||
applications that use this cipher directly and set a non-default nonce
|
||||
length to be longer than 12 bytes may be vulnerable.
|
||||
|
||||
CVE-2019-1543
|
||||
|
||||
Fixes #8345
|
||||
|
||||
Reviewed-by: Paul Dale <paul.dale@oracle.com>
|
||||
Reviewed-by: Richard Levitte <levitte@openssl.org>
|
||||
(Merged from https://github.com/openssl/openssl/pull/8406)
|
||||
|
||||
(cherry picked from commit 2a3d0ee9d59156c48973592331404471aca886d6)
|
||||
---
|
||||
crypto/evp/e_chacha20_poly1305.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c
|
||||
index c1917bb86a6..d3e2c622a1b 100644
|
||||
--- crypto/evp/e_chacha20_poly1305.c.orig
|
||||
+++ crypto/evp/e_chacha20_poly1305.c
|
||||
@@ -30,6 +30,8 @@ typedef struct {
|
||||
|
||||
#define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data)
|
||||
|
||||
+#define CHACHA20_POLY1305_MAX_IVLEN 12
|
||||
+
|
||||
static int chacha_init_key(EVP_CIPHER_CTX *ctx,
|
||||
const unsigned char user_key[CHACHA_KEY_SIZE],
|
||||
const unsigned char iv[CHACHA_CTR_SIZE], int enc)
|
||||
@@ -533,7 +535,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,
|
||||
return 1;
|
||||
|
||||
case EVP_CTRL_AEAD_SET_IVLEN:
|
||||
- if (arg <= 0 || arg > CHACHA_CTR_SIZE)
|
||||
+ if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN)
|
||||
return 0;
|
||||
actx->nonce_len = arg;
|
||||
return 1;
|
@ -1546,6 +1546,7 @@ man/man1/x509.1.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_EC_KEY.3.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_RSA.3.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_asn1.3.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_engine.3.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_hmac.3.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_poly1305.3.gz
|
||||
%%MAN3%%man/man3/EVP_PKEY_get0_siphash.3.gz
|
||||
@ -2455,11 +2456,13 @@ man/man1/x509.1.gz
|
||||
%%MAN3%%man/man3/RSA_new.3.gz
|
||||
%%MAN3%%man/man3/RSA_new_method.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_add_PKCS1_OAEP.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_add_PKCS1_OAEP_mgf1.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_add_PKCS1_type_1.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_add_PKCS1_type_2.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_add_SSLv23.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_add_none.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_check_PKCS1_OAEP.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_check_PKCS1_OAEP_mgf1.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_check_PKCS1_type_1.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_check_PKCS1_type_2.3.gz
|
||||
%%MAN3%%man/man3/RSA_padding_check_SSLv23.3.gz
|
||||
|
Loading…
Reference in New Issue
Block a user