В минувший вторник появился новый набор патчей для OpenSSL, устраняющий две очень опасные бреши и четыре — низкой степени опасности. Эти уязвимости актуальны для пользователей OpenSSL 1.0.1 и OpenSSL 1.0.2.

Один из серьезных багов, CVE-2016-2107, открывает возможность для проведения атаки с оракулом (padding oracle attack) с целью расшифровки трафика. Эксплойт возможен при условии, что для соединения применяется шифр AES в CBC-режиме, а сервер поддерживает AES-NI.

“Особенно интересна проблема с AES, — отметил Рич Зальц (Rich Salz), один из разработчиков проекта и штатный инженер в Akamai. — Если удастся занять позицию [“человек посередине”], тогда можно внедрять пакеты, отслеживать коды ошибки и в итоге расшифровывать трафик. Такая задача под силу атакующим национального масштаба, у которых есть возможность обеспечить принудительную маршрутизацию DNS или BGP, либо мелким хакерам, знающим, как взломать Wi-Fi в Starbucks”.

В информационном бюллетене OpenSSL сказано, что данный патч является частью противоядия против атаки Lucky 13, обнаруженной в 2013 году. Это разновидность атаки по обходному каналу на TLS, точнее, на часть протокола, связанную с аутентификацией сообщений.

“Проверка паддинга была переписана с фиксацией времени, с тем чтобы чтению и сравнению с MAC или байтами заполнителя всегда подвергались одни и те же байты, — пишут участники проекта. — Однако при этом исчезла проверка размера данных, которые должны включать как MAC, так и паддинг-байты”.

Вторая опасная уязвимость, нарушение целостности памяти, была обнаружена в кодере ASN.1 криптобиблиотеки. Ей подвержены лишь версии, вышедшие раньше апреля 2015 года. Данная брешь была закрыта 18 апреля прошлого года, релиз патча состоялся в июне. “Другой баг [высокой степени опасности] был исправлен год назад, — подтвердил Зальц, — однако это никак не отразилось на уровне безопасности. Если бы вендоры удосужились подхватить наши заплатки, все было бы в порядке”.

В своем бюллетене команда OpenSSL пояснила, что данная уязвимость сама по себе не представляет особой опасности, но в сочетании с другим, не связанным с ней багом в парсере ASN.1 она может повлечь переполнение буфера.

Пропатчены также две неопасные уязвимости переполнения в функции EVP_EncodeUpdate (). В обоих случаях ввод большого объема данных может при определенных условиях привести к нарушению целостности кучи.

Остальные бреши низкой степени опасности присутствуют в ASN.1 BIO и в функции X509_NAME_oneline() систем EBCDIC. В первом случае эксплойт может повлечь истощение памяти, во втором — возврат в буфер случайных данных из стека.

В заключение пользователям напоминают, что ИБ-поддержка OpenSSL 1.0.1 закончится 31 декабря. Версии 0.9.8 и 1.0.0 были сняты с довольствия в минувшем декабре.

Категории: Уязвимости