OpenSSL закрыл опасную уязвимость в DTLS: утечка памяти и аварийное завершение

· Безопасность
29 сентября проект OpenSSL выпустил исправления для уязвимости высокого уровня опасности в DTLS, из-за которой содержимое кучи может уходить собеседнику в открытом виде или приводить к падению программы.

cover.svg

Проект 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

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.