Разработчики OpenSSL выпустили экстренное обновление: патч, вышедший на прошлой неделе, привнес критическую уязвимость в криптографическую библиотеку. Новая проблема затрагивает лишь выпуск OpenSSL 1.1.0a, пользователям рекомендуется как можно скорее обновиться до 1.1.0b.

Провинившийся патч закрыл уязвимость CVE-2016-6307 — выделение чрезмерной памяти при выполнении функции tls_get_message_header(). Данная брешь была расценена как низкой степени опасности и могла вызвать отказ сервера.

Как оказалось, код заплатки повлек новую уязвимость, которая проявляется при получении сообщения размером более 16 Кбайт. Согласно описанию, в этом случае буфер, отведенный под сообщение, перераспределяется и меняет место.

«К сожалению, после этого остается висячий указатель на прежнее место буфера, что открывает возможность для записи в уже освобожденную область, — пишут разработчики в бюллетене. — Подобная ситуация, скорее всего, окончится крэшем, однако потенциально она позволяет исполнить произвольный код».

Новый выпуск OpenSSL устраняет также уязвимость, объявившуюся в другом недавнем апдейте, 1.0.2i. Данная брешь, CVE-2016-7052, вызвана отсутствием компонента, выполняющего проверку работоспособности списка отзыва сертификатов (CRL). Согласно бюллетеню, такая проверка была введена еще с выходом OpenSSL 1.1.0, а в обновление 1.0.2i ее попросту забыли включить. «В итоге любая попытка использования CRL на OpenSSL 1.0.2i оканчивается крэшем из-за исключения нулевого указателя», — гласит бюллетень OpenSSL. Релиз 1.0.2j исправляет эту ошибку.

Категории: Главное, Уязвимости