OpenSSL 1.1.0 ssl_add_clienthello_tlsext повреждение памяти

CVSS Meta Temp ScoreТекущая цена эксплойта (≈)Балл интереса 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. Слабость была опубликована 13.10.2016 специалистом 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-дневный период предполагаемая подземная цена составляла около $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 Meta Base Score: 7.3
VulDB Meta Temp Score: 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-дневное время: 🔍
Задержка эксплуатации: 🔍

ХронологияИнформация

13.10.2016 🔍
13.10.2016 +0 дни 🔍
20.10.2016 +7 дни 🔍
14.12.2016 +55 дни 🔍

ИсточникиИнформация

Продукт: openssl.org

Консультация: seclists.org
Исследователь: Guido Vranken
Статус: Не определено

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

ВходИнформация

Создано: 20.10.2016 13:16
Обновлено: 14.12.2016 15:54
Изменения: 20.10.2016 13:16 (47), 14.12.2016 15:54 (2)
Завершенный: 🔍
Cache ID: 216::103

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

Обсуждение

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!