OpenSSL закрыл опасную уязвимость в DTLS: утечка памяти и аварийное завершение
Проект OpenSSL 29 сентября сообщил об уязвимости высокого уровня опасности в реализации DTLS и выпустил исправления. Изъян, получивший идентификатор CVE-2026-84782, способен передавать данные из кучи на другую сторону соединения в незашифрованном виде либо приводить к аварийному завершению программы.
DTLS — вариант TLS для трафика поверх UDP. Он повторно отправляет сообщение рукопожатия, если ответ не приходит до истечения таймера. Крупные сообщения при этом разбиваются на фрагменты, каждый из которых умещается в одну UDP-датаграмму. Если соединение временно не может принять больше данных, отправка приостанавливается на середине сообщения, а таймер повторной посылки при этом может сработать и отправить более раннее сообщение снова.
В чём суть ошибки
До исправления при повторной отправке использовалась позиция приостановленного сообщения в буфере, а не начало того сообщения, которое требовалось переслать. В результате пакет уходил с неверной меткой, а его телом оказывались остаточные байты более крупного сообщения; чтение могло выйти за пределы буфера. Так неправильно помеченное сообщение уносило содержимое кучи собеседнику как открытые данные рукопожатия, а при обращении к неотображённой памяти программа падала.
OpenSSL не уточняет, может ли атакующий сам спровоцировать повторную отправку в нужный момент, и не сообщает о случаях эксплуатации. Уязвимости подвержено только ПО, использующее OpenSSL для DTLS, — например, при защите каналов данных WebRTC и согласовании ключей для интернет-звонков. Проблема касается как клиентов, так и серверов.
Кого затрагивает и что делать
Исправления вышли в OpenSSL 4.0.3, 3.6.5, 3.5.9 и 3.4.8. Для более старых веток 3.0, 1.1.1 и 1.0.2 обновления доступны только клиентам платной поддержки; публичные исправления для 3.0 прекратились 7 сентября. Обходных путей для тех, кто не может обновиться, проект не предлагает.
Об уязвимости 17 августа сообщил Лоран Гаффье из Secorizon, исправление подготовил Райан Хупер. OpenSSL оценивает изъян как «высокий» — на уровень ниже критического. CISA присвоила ему 8,2 балла по CVSS, отметив низкое влияние на конфиденциальность и высокое — на доступность. Ubuntu и Debian уже выпустили обновления в своих пакетах; пользователям Ubuntu после установки требуется перезагрузка.
Это выпуск закрыл ещё 13 уязвимостей. Наиболее серьёзная из них, CVE-2026-84783 уровня «средний», затрагивает только OpenSSL 4.0 и позволяет удалённо уронить многопоточный TLS-клиент или сервер. Остальные оценены как низкие, среди них — пять в коде QUIC и три таймингових уязвимости в ECDSA и SM2.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.