Patchwork openssl: fix for CVE-2010-5298

login
register
mail settings
Submitter rongqing.li@windriver.com
Date May 19, 2014, 7 a.m.
Message ID <1400482838-7751-1-git-send-email-rongqing.li@windriver.com>
Download mbox | patch
Permalink /patch/72347/
State Accepted
Commit 00846f62a7ba95a95303e276774ca0d6396b8f60
Headers show

Comments

rongqing.li@windriver.com - May 19, 2014, 7 a.m.
From: Yue Tao <Yue.Tao@windriver.com>

Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
attackers to inject data across sessions or cause a denial of service
(use-after-free and parsing error) via an SSL connection in a
multithreaded environment.

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
 .../openssl-1.0.1e/openssl-CVE-2010-5298.patch     |   24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
douglas.royds - May 22, 2014, 1:42 a.m.
On 19/05/14 19:00, rongqing.li@windriver.com wrote:
> From: Yue Tao <Yue.Tao@windriver.com>
>
> Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
> through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
> attackers to inject data across sessions or cause a denial of service
> (use-after-free and parsing error) via an SSL connection in a
> multithreaded environment.
>
> http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298
>
> Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
> Signed-off-by: Roy Li <rongqing.li@windriver.com>
> ---
>   .../openssl-1.0.1e/openssl-CVE-2010-5298.patch     |   24 ++++++++++++++++++++
>   1 file changed, 24 insertions(+)
>   create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
>
> diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
> new file mode 100644
> index 0000000..417a774
> --- /dev/null
> +++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
> @@ -0,0 +1,24 @@
> +openssl fix for CVE-2010-5298
> +
> +Upstream-Status: Backport
> +
> +Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
> +through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
> +attackers to inject data across sessions or cause a denial of service
> +(use-after-free and parsing error) via an SSL connection in a
> +multithreaded environment.
> +
> +http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298
> +
> +Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
> +--- a/ssl/s3_pkt.c
> ++++ b/ssl/s3_pkt.c
> +@@ -1013,7 +1013,7 @@ start:
> + 				{
> + 				s->rstate=SSL_ST_READ_HEADER;
> + 				rr->off=0;
> +-				if (s->mode & SSL_MODE_RELEASE_BUFFERS)
> ++				if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0)
> + 					ssl3_release_read_buffer(s);
> + 				}
> + 			}

This patch file appears to be orphaned in openssl-1.0.1e/, when the 
current version is 1.0.1g.

Also, there is no file://openssl-CVE-2010-5298.patch entry in the SRC_URI.

Was this deliberate? Am I missing something?
rongqing.li@windriver.com - May 22, 2014, 5:24 a.m.
On 05/22/2014 09:42 AM, Douglas Royds wrote:
> On 19/05/14 19:00, rongqing.li@windriver.com wrote:
>> From: Yue Tao <Yue.Tao@windriver.com>
>>
>> Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
>> through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
>> attackers to inject data across sessions or cause a denial of service
>> (use-after-free and parsing error) via an SSL connection in a
>> multithreaded environment.
>>
>> http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298
>>
>> Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
>> Signed-off-by: Roy Li <rongqing.li@windriver.com>
>> ---
>>   .../openssl-1.0.1e/openssl-CVE-2010-5298.patch     |   24
>> ++++++++++++++++++++
>>   1 file changed, 24 insertions(+)
>>   create mode 100644
>> meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
>>
>>
>> diff --git
>> a/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
>> b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
>>
>> new file mode 100644
>> index 0000000..417a774
>> --- /dev/null
>> +++
>> b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
>>
>> @@ -0,0 +1,24 @@
>> +openssl fix for CVE-2010-5298
>> +
>> +Upstream-Status: Backport
>> +
>> +Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
>> +through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
>> +attackers to inject data across sessions or cause a denial of service
>> +(use-after-free and parsing error) via an SSL connection in a
>> +multithreaded environment.
>> +
>> +http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298
>> +
>> +Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
>> +--- a/ssl/s3_pkt.c
>> ++++ b/ssl/s3_pkt.c
>> +@@ -1013,7 +1013,7 @@ start:
>> +                 {
>> +                 s->rstate=SSL_ST_READ_HEADER;
>> +                 rr->off=0;
>> +-                if (s->mode & SSL_MODE_RELEASE_BUFFERS)
>> ++                if (s->mode & SSL_MODE_RELEASE_BUFFERS &&
>> s->s3->rbuf.left == 0)
>> +                     ssl3_release_read_buffer(s);
>> +                 }
>> +             }
>
> This patch file appears to be orphaned in openssl-1.0.1e/, when the
> current version is 1.0.1g.
>
> Also, there is no file://openssl-CVE-2010-5298.patch entry in the SRC_URI.
>
> Was this deliberate? Am I missing something?


thank, I will fix it

-Roy

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
new file mode 100644
index 0000000..417a774
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2010-5298.patch
@@ -0,0 +1,24 @@ 
+openssl fix for CVE-2010-5298
+
+Upstream-Status: Backport
+
+Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
+through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
+attackers to inject data across sessions or cause a denial of service
+(use-after-free and parsing error) via an SSL connection in a
+multithreaded environment.
+
+http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298
+
+Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
+--- a/ssl/s3_pkt.c
++++ b/ssl/s3_pkt.c
+@@ -1013,7 +1013,7 @@ start:
+ 				{
+ 				s->rstate=SSL_ST_READ_HEADER;
+ 				rr->off=0;
+-				if (s->mode & SSL_MODE_RELEASE_BUFFERS)
++				if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0)
+ 					ssl3_release_read_buffer(s);
+ 				}
+ 			}