All of lore.kernel.org
 help / color / mirror / Atom feed
* [master][PATCH] openssl: security fix CVE-2016-6304
@ 2016-09-23  8:48 Anuj Mittal
  2016-09-23  8:56 ` Maxin B. John
  0 siblings, 1 reply; 6+ messages in thread
From: Anuj Mittal @ 2016-09-23  8:48 UTC (permalink / raw)
  To: openembedded-core

Reference:
https://www.openssl.org/news/secadv/20160922.txt

Upstream fix:
https://github.com/openssl/openssl/commit/e408c09bbf7c3057bda4b8d20bec1b3a7771c15b

Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
---
 .../openssl/openssl/CVE-2016-6304.patch            | 75 ++++++++++++++++++++++
 .../recipes-connectivity/openssl/openssl_1.0.2h.bb |  1 +
 2 files changed, 76 insertions(+)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/CVE-2016-6304.patch

diff --git a/meta/recipes-connectivity/openssl/openssl/CVE-2016-6304.patch b/meta/recipes-connectivity/openssl/openssl/CVE-2016-6304.patch
new file mode 100644
index 0000000..59d66f0
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/CVE-2016-6304.patch
@@ -0,0 +1,75 @@
+From ea39b16b71e4e72a228a4535bd6d6a02c5edbc1f Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 9 Sep 2016 10:08:45 +0100
+Subject: [PATCH] Fix OCSP Status Request extension unbounded memory growth
+
+A malicious client can send an excessively large OCSP Status Request
+extension. If that client continually requests renegotiation,
+sending a large OCSP Status Request extension each time, then there will
+be unbounded memory growth on the server. This will eventually lead to a
+Denial Of Service attack through memory exhaustion. Servers with a
+default configuration are vulnerable even if they do not support OCSP.
+Builds using the "no-ocsp" build time option are not affected.
+
+I have also checked other extensions to see if they suffer from a similar
+problem but I could not find any other issues.
+
+CVE-2016-6304
+
+Issue reported by Shi Lei.
+Reviewed-by: Rich Salz <rsalz@openssl.org>
+
+CVE: CVE-2016-6304
+Upstream-Status: Backport
+https://github.com/openssl/openssl/commit/e408c09bbf7c3057bda4b8d20bec1b3a7771c15b
+
+Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
+---
+ ssl/t1_lib.c | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
+index fbcf2e6..e4b4e27 100644
+--- a/ssl/t1_lib.c
++++ b/ssl/t1_lib.c
+@@ -2316,6 +2316,23 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p,
+                 size -= 2;
+                 if (dsize > size)
+                     goto err;
++
++                /*
++                 * We remove any OCSP_RESPIDs from a previous handshake
++                 * to prevent unbounded memory growth - CVE-2016-6304
++                 */
++                sk_OCSP_RESPID_pop_free(s->tlsext_ocsp_ids,
++                                        OCSP_RESPID_free);
++                if (dsize > 0) {
++                    s->tlsext_ocsp_ids = sk_OCSP_RESPID_new_null();
++                    if (s->tlsext_ocsp_ids == NULL) {
++                        *al = SSL_AD_INTERNAL_ERROR;
++                        return 0;
++                    }
++                } else {
++                    s->tlsext_ocsp_ids = NULL;
++                }
++
+                 while (dsize > 0) {
+                     OCSP_RESPID *id;
+                     int idsize;
+@@ -2335,13 +2352,6 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p,
+                         OCSP_RESPID_free(id);
+                         goto err;
+                     }
+-                    if (!s->tlsext_ocsp_ids
+-                        && !(s->tlsext_ocsp_ids =
+-                             sk_OCSP_RESPID_new_null())) {
+-                        OCSP_RESPID_free(id);
+-                        *al = SSL_AD_INTERNAL_ERROR;
+-                        return 0;
+-                    }
+                     if (!sk_OCSP_RESPID_push(s->tlsext_ocsp_ids, id)) {
+                         OCSP_RESPID_free(id);
+                         *al = SSL_AD_INTERNAL_ERROR;
+-- 
+1.9.1
+
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb
index c8444d3..c369d01 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.2h.bb
@@ -42,6 +42,7 @@ SRC_URI += "file://find.pl;subdir=${BP}/util/ \
             file://CVE-2016-2177.patch \
             file://CVE-2016-2178.patch \
             file://openssl-util-perlpath.pl-cwd.patch \
+            file://CVE-2016-6304.patch \
            "
 SRC_URI[md5sum] = "9392e65072ce4b614c1392eefc1f23d0"
 SRC_URI[sha256sum] = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [master][PATCH] openssl: security fix CVE-2016-6304
  2016-09-23  8:48 [master][PATCH] openssl: security fix CVE-2016-6304 Anuj Mittal
@ 2016-09-23  8:56 ` Maxin B. John
  2016-09-23  9:06   ` Paul Eggleton
  0 siblings, 1 reply; 6+ messages in thread
From: Maxin B. John @ 2016-09-23  8:56 UTC (permalink / raw)
  To: Anuj Mittal; +Cc: openembedded-core

Hi,

On Fri, Sep 23, 2016 at 04:48:37PM +0800, Anuj Mittal wrote:
> Reference:
> https://www.openssl.org/news/secadv/20160922.txt
> 
> Upstream fix:
> https://github.com/openssl/openssl/commit/e408c09bbf7c3057bda4b8d20bec1b3a7771c15b
> 
> Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
> ---
>  .../openssl/openssl/CVE-2016-6304.patch            | 75 ++++++++++++++++++++++

Mid air collision with Patrick's patch.

http://lists.openembedded.org/pipermail/openembedded-core/2016-September/126840.html

Regards,
Maxin


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [master][PATCH] openssl: security fix CVE-2016-6304
  2016-09-23  8:56 ` Maxin B. John
@ 2016-09-23  9:06   ` Paul Eggleton
  2016-09-23 15:20     ` Patrick Ohly
  2016-09-23 16:59     ` akuster808
  0 siblings, 2 replies; 6+ messages in thread
From: Paul Eggleton @ 2016-09-23  9:06 UTC (permalink / raw)
  To: openembedded-core; +Cc: Patrick Ohly, Armin Kuster

On Fri, 23 Sep 2016 11:56:41 Maxin B. John wrote:
> On Fri, Sep 23, 2016 at 04:48:37PM +0800, Anuj Mittal wrote:
> > Reference:
> > https://www.openssl.org/news/secadv/20160922.txt
> > 
> > Upstream fix:
> > https://github.com/openssl/openssl/commit/e408c09bbf7c3057bda4b8d20bec1b3a
> > 7771c15b
> > 
> > Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
> > ---
> > 
> >  .../openssl/openssl/CVE-2016-6304.patch            | 75
> >  ++++++++++++++++++++++
> Mid air collision with Patrick's patch.

I guess for krogoth and jethro we have the choice of applying just this fix or 
the upgrade. Looking over the commits for 1.0.2i it does look like quite a lot 
more than the list of CVEs in the recent security advisory were fixed, and 
it's somewhat concerning that the 1.0.2i release went out with an apparently 
compile-breaking typo in it (subsequently fixed, patch applied in Patrick's 
upgrade).

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [master][PATCH] openssl: security fix CVE-2016-6304
  2016-09-23  9:06   ` Paul Eggleton
@ 2016-09-23 15:20     ` Patrick Ohly
  2016-09-26 12:40       ` Alexander Kanavin
  2016-09-23 16:59     ` akuster808
  1 sibling, 1 reply; 6+ messages in thread
From: Patrick Ohly @ 2016-09-23 15:20 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core, Armin Kuster

[resending from my Intel account, the one on GMX isn't subscribed]

On Fri, 2016-09-23 at 21:06 +1200, Paul Eggleton wrote:
> On Fri, 23 Sep 2016 11:56:41 Maxin B. John wrote:
> > On Fri, Sep 23, 2016 at 04:48:37PM +0800, Anuj Mittal wrote:
> > > Reference:
> > > https://www.openssl.org/news/secadv/20160922.txt
> > > 
> > > Upstream fix:
> > > https://github.com/openssl/openssl/commit/e408c09bbf7c3057bda4b8d20bec1b3a
> > > 7771c15b
> > > 
> > > Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
> > > ---
> > > 
> > >  .../openssl/openssl/CVE-2016-6304.patch            | 75
> > >  ++++++++++++++++++++++
> > Mid air collision with Patrick's patch.
> 
> I guess for krogoth and jethro we have the choice of applying just this fix or 
> the upgrade. Looking over the commits for 1.0.2i it does look like quite a lot 
> more than the list of CVEs in the recent security advisory were fixed, and 
> it's somewhat concerning that the 1.0.2i release went out with an apparently 
> compile-breaking typo in it (subsequently fixed, patch applied in Patrick's 
> upgrade).

The compile error is inside an #ifdef, so it could be that just that
particular configuration hadn't been tested. But yes, one has to wonder.

So what's preferred for OE-core master and the 2.2 release? Updating to
1.0.2i or backporting the critical patch?

I don't have any strong opinion either way myself.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [master][PATCH] openssl: security fix CVE-2016-6304
  2016-09-23  9:06   ` Paul Eggleton
  2016-09-23 15:20     ` Patrick Ohly
@ 2016-09-23 16:59     ` akuster808
  1 sibling, 0 replies; 6+ messages in thread
From: akuster808 @ 2016-09-23 16:59 UTC (permalink / raw)
  To: Paul Eggleton, openembedded-core; +Cc: Patrick Ohly, Armin Kuster



On 09/23/2016 02:06 AM, Paul Eggleton wrote:
> On Fri, 23 Sep 2016 11:56:41 Maxin B. John wrote:
>> On Fri, Sep 23, 2016 at 04:48:37PM +0800, Anuj Mittal wrote:
>>> Reference:
>>> https://www.openssl.org/news/secadv/20160922.txt
>>>
>>> Upstream fix:
>>> https://github.com/openssl/openssl/commit/e408c09bbf7c3057bda4b8d20bec1b3a
>>> 7771c15b
>>>
>>> Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
>>> ---
>>>
>>>   .../openssl/openssl/CVE-2016-6304.patch            | 75
>>>   ++++++++++++++++++++++
>> Mid air collision with Patrick's patch.
> I guess for krogoth and jethro we have the choice of applying just this fix or
> the upgrade.
The last time we upgraded openssl, we broke  stuff in other layers. I am 
more nervous about upgrading jethro than krogoth do to the age of the 
other packages openssl supports.

> Looking over the commits for 1.0.2i it does look like quite a lot
> more than the list of CVEs in the recent security advisory were fixed,
Its hard to say at this time if some of the other commits are in support 
of a CVE fix.

- armin
>   and
> it's somewhat concerning that the 1.0.2i release went out with an apparently
> compile-breaking typo in it (subsequently fixed, patch applied in Patrick's
> upgrade).
>
> Cheers,
> Paul
>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [master][PATCH] openssl: security fix CVE-2016-6304
  2016-09-23 15:20     ` Patrick Ohly
@ 2016-09-26 12:40       ` Alexander Kanavin
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Kanavin @ 2016-09-26 12:40 UTC (permalink / raw)
  To: openembedded-core

On 09/23/2016 06:20 PM, Patrick Ohly wrote:

> The compile error is inside an #ifdef, so it could be that just that
> particular configuration hadn't been tested. But yes, one has to wonder.
>
> So what's preferred for OE-core master and the 2.2 release? Updating to
> 1.0.2i or backporting the critical patch?
>
> I don't have any strong opinion either way myself.

Meanwhile, 1.0.2j is out :) I'd say for master we should just go ahead 
and update to that.

Alex



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-09-26 12:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-23  8:48 [master][PATCH] openssl: security fix CVE-2016-6304 Anuj Mittal
2016-09-23  8:56 ` Maxin B. John
2016-09-23  9:06   ` Paul Eggleton
2016-09-23 15:20     ` Patrick Ohly
2016-09-26 12:40       ` Alexander Kanavin
2016-09-23 16:59     ` akuster808

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.