Update CHANGES and NEWS for new release
authorMatt Caswell <matt@openssl.org>
Thu, 25 Mar 2021 10:29:55 +0000 (10:29 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 25 Mar 2021 13:19:29 +0000 (13:19 +0000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
CHANGES
NEWS

diff --git a/CHANGES b/CHANGES
index 8c2b701311db4628987fc805ea9258f71a372050..40fe5529bd1b2792aaadabe2c4f8626ea31035c9 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,7 +9,47 @@
 
  Changes between 1.1.1j and 1.1.1k [xx XXX xxxx]
 
-  *)
+  *) Fixed a problem with verifying a certificate chain when using the
+     X509_V_FLAG_X509_STRICT flag. This flag enables additional security checks
+     of the certificates present in a certificate chain. It is not set by
+     default.
+
+     Starting from OpenSSL version 1.1.1h a check to disallow certificates in
+     the chain that have explicitly encoded elliptic curve parameters was added
+     as an additional strict check.
+
+     An error in the implementation of this check meant that the result of a
+     previous check to confirm that certificates in the chain are valid CA
+     certificates was overwritten. This effectively bypasses the check
+     that non-CA certificates must not be able to issue other certificates.
+
+     If a "purpose" has been configured then there is a subsequent opportunity
+     for checks that the certificate is a valid CA.  All of the named "purpose"
+     values implemented in libcrypto perform this check.  Therefore, where
+     a purpose is set the certificate chain will still be rejected even when the
+     strict flag has been used. A purpose is set by default in libssl client and
+     server certificate verification routines, but it can be overridden or
+     removed by an application.
+
+     In order to be affected, an application must explicitly set the
+     X509_V_FLAG_X509_STRICT verification flag and either not set a purpose
+     for the certificate verification or, in the case of TLS client or server
+     applications, override the default purpose.
+     (CVE-2021-3450)
+     [Tomáš Mráz]
+
+  *) Fixed an issue where an OpenSSL TLS server may crash if sent a maliciously
+     crafted renegotiation ClientHello message from a client. If a TLSv1.2
+     renegotiation ClientHello omits the signature_algorithms extension (where
+     it was present in the initial ClientHello), but includes a
+     signature_algorithms_cert extension then a NULL pointer dereference will
+     result, leading to a crash and a denial of service attack.
+
+     A server is only vulnerable if it has TLSv1.2 and renegotiation enabled
+     (which is the default configuration). OpenSSL TLS clients are not impacted
+     by this issue.
+     (CVE-2021-3449)
+     [Peter Kästle and Samuel Sapalski]
 
  Changes between 1.1.1i and 1.1.1j [16 Feb 2021]
 
diff --git a/NEWS b/NEWS
index 7e1cdf94e047faa69492ad4a09669dae80ee0b27..a0a92cee9396453c9f9b0ffbb9366b06b12dbbeb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,7 +7,11 @@
 
   Major changes between OpenSSL 1.1.1j and OpenSSL 1.1.1k [under development]
 
-      o
+      o Fixed a problem with verifying a certificate chain when using the
+        X509_V_FLAG_X509_STRICT flag (CVE-2021-3450)
+      o Fixed an issue where an OpenSSL TLS server may crash if sent a
+        maliciously crafted renegotiation ClientHello message from a client
+        (CVE-2021-3449)
 
   Major changes between OpenSSL 1.1.1i and OpenSSL 1.1.1j [16 Feb 2021]