OpenSSL 1.1.0 ssl_add_clienthello_tlsext 메모리 손상

CVSS 메타 임시 점수현재 익스플로잇 가격 (≈)CTI 관심 점수
6.6$0-$5k0.00

요약정보

취약점이 비판적인로 분류되어 OpenSSL 1.1.0에서 발견되었습니다. 영향을 받은 것은 ssl_add_clienthello_tlsext 함수이며. 이 조작 메모리 손상을(를) 발생시킵니다. 공격을 원격으로 시작할 수 있습니다. 또한, 익스플로잇이 존재합니다.

세부정보

취약점이 비판적인로 분류되어 OpenSSL 1.1.0에서 발견되었습니다. 영향을 받은 것은 ssl_add_clienthello_tlsext 함수이며. 이 조작 메모리 손상을(를) 발생시킵니다. CWE를 사용하여 문제를 선언하면 CWE-122로 연결됩니다. 이 취약성은 공개되었습니다 2016. 10. 13. Guido Vranken에 의해 Mailinglist Post로 (Full-Disclosure). 이 권고문은 seclists.org에서 제공됩니다.

공격을 원격으로 시작할 수 있습니다. 기술적 정보가 있습니다. 이 취약점의 인기도는 평균 이하입니다. 또한, 익스플로잇이 존재합니다. 익스플로잇이 공개되어 대중이 사용할 수 있습니다. 현재 시점에서 익스플로잇의 가격은 대략 USD $0-$5k 일 수 있습니다. 이 취약점은 다음 코드 부분으로 인해 발생했습니다:

if ((long)(limit - ret - 7 - extlen - idlen) < 0)
    return NULL;
s2n(TLSEXT_TYPE_status_request, ret);
if (extlen + idlen > 0xFFF0)
    return NULL;
s2n(extlen + idlen + 5, ret);
*(ret++) = TLSEXT_STATUSTYPE_ocsp;
s2n(idlen, ret);
for (i = 0; i < sk_OCSP_RESPID_num(s->tlsext_ocsp_ids); i++) {
    / save position of id len /
    unsigned char *q = ret;
    id = sk_OCSP_RESPID_value(s->tlsext_ocsp_ids, i);
    / skip over id len /
    ret += 2;
    itmp = i2d_OCSP_RESPID(id, &ret);
    / write id len /
    s2n(itmp, q);
}
s2n(extlen, ret);
1283if (extlen > 0)
1284    i2d_X509_EXTENSIONS(s->tlsext_ocsp_exts, &ret);
권고문에서는 다음과 같이 지적하고 있습니다:
(...) if an attacker can somehow influence the ALPN list of an OpenSSL-enabled application (perhaps through another vulnerability), the attacker can write arbitrary data past OpenSSL's heap buffer.

개념 증명로 선언됩니다. 익스플로잇이 seclists.org에서 다운로드용으로 공유되고 있습니다. 0-day 당시의 지하 추정가는 약 $25k-$100k였습니다. 익스플로잇에 사용된 코드는 다음과 같습니다:

openssl s_client -reconnect -status -alpn `python -c "import sys;
sys.stdout.write('x,'*4000+'x')"`
안내문에서는 다음과 같이 명시하고 있습니다:
It doesn’t crash immediately after ‘ret’ crosses ‘limit’ because the buffer is over-allocated by the code in crypto/buffer/buffer.c (...) And just to be clear, you don’t need to modify the source code of the client in order to make this work. You only need to modify the server code (a separate build if you want) so it sends large tickets.

권고문에 다음과 같은 내용이 있습니다:

Triggering this requires that the client sets a very large ALPN list (several thousand bytes). This would be very unusual in a real-world application. For this reason OpenSSL does not treat this as a security vulnerability and I am inclined to agree with this decision.

제품정보

유형

이름

버전

특허

지원하다

  • end of life (old version)

웹사이트

CPE 2.3정보

CPE 2.2정보

CVSSv4정보

VulDB 벡터: 🔍
VulDB 신뢰성: 🔍

CVSSv3정보

VulDB 메타 베이스 점수: 7.3
VulDB 메타 임시 점수: 6.6

VulDB 기본 점수: 7.3
VulDB 임시 점수: 6.6
VulDB 벡터: 🔍
VulDB 신뢰성: 🔍

CVSSv2정보

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
벡터복잡성인증기밀성진실성유효성
잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다
잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다
잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다

VulDB 기본 점수: 🔍
VulDB 임시 점수: 🔍
VulDB 신뢰성: 🔍

악용정보

수업: 메모리 손상
CWE: CWE-122 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍

물리적인: 아니요
현지: 아니요
원격: 네

유효성: 🔍
접근: 공개
상태: 개념 증명
저자: Guido Vranken
다운로드: 🔍
가격 예측: 🔍
현재 가격 추정: 🔍

0-Day잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다
오늘잠금 해제하다잠금 해제하다잠금 해제하다잠금 해제하다

위협 인텔리전스정보

관심: 🔍
활성 배우: 🔍
활성 APT 그룹: 🔍

대책정보

추천: 알려진 완화 방법 없음
상태: 🔍

0일 시간: 🔍
익스플로잇 지연 시간: 🔍

타임라인정보

2016. 10. 13. 🔍
2016. 10. 13. +0 날 🔍
2016. 10. 20. +7 날 🔍
2016. 12. 14. +55 날 🔍

출처정보

제품: openssl.org

권고: seclists.org
연구원: Guido Vranken
상태: 정의되지 않음

GCVE (VulDB): GCVE-100-93005
scip Labs: https://www.scip.ch/en/?labs.20161013

항목정보

만들어진: 2016. 10. 20. PM 01:16
업데이트됨: 2016. 12. 14. PM 03:54
변경 사항: 2016. 10. 20. PM 01:16 (47), 2016. 12. 14. PM 03:54 (2)
완벽한: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

논의

아직 댓글이 없습니다. 언어: ko + en.

댓글을 작성하려면 로그인하세요.

Might our Artificial Intelligence support you?

Check our Alexa App!