mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 03:49:32 +02:00
The ssl_get_algorithm2 function in ssl/s3_lib.c in OpenSSL before 1.0.2 obtains a certain version number from an incorrect data structure, which allows remote attackers to cause a denial of service (daemon crash) via crafted traffic from a TLS 1.2 client. (From OE-Core master rev: 3e0ac7357a962e3ef6595d21ec4843b078a764dd) (From OE-Core rev: 0d3d2d7062a181e878435487c06e26c6547e492f) Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
From ca989269a2876bae79393bd54c3e72d49975fc75 Mon Sep 17 00:00:00 2001
|
|
From: "Dr. Stephen Henson" <steve@openssl.org>
|
|
Date: Thu, 19 Dec 2013 14:37:39 +0000
|
|
Subject: [PATCH] Use version in SSL_METHOD not SSL structure.
|
|
|
|
Upstream-Status: Backport
|
|
commit ca989269a2876bae79393bd54c3e72d49975fc75 upstream
|
|
|
|
When deciding whether to use TLS 1.2 PRF and record hash algorithms
|
|
use the version number in the corresponding SSL_METHOD structure
|
|
instead of the SSL structure. The SSL structure version is sometimes
|
|
inaccurate. Note: OpenSSL 1.0.2 and later effectively do this already.
|
|
(CVE-2013-6449)
|
|
---
|
|
ssl/s3_lib.c | 2 +-
|
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
|
|
index bf832bb..c4ef273 100644
|
|
--- a/ssl/s3_lib.c
|
|
+++ b/ssl/s3_lib.c
|
|
@@ -4286,7 +4286,7 @@ need to go to SSL_ST_ACCEPT.
|
|
long ssl_get_algorithm2(SSL *s)
|
|
{
|
|
long alg2 = s->s3->tmp.new_cipher->algorithm2;
|
|
- if (TLS1_get_version(s) >= TLS1_2_VERSION &&
|
|
+ if (s->method->version == TLS1_2_VERSION &&
|
|
alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF))
|
|
return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256;
|
|
return alg2;
|
|
--
|
|
1.7.5.4
|
|
|