Уязвимость в OpenSSL вызывает утечку памяти у TLS-клиентов при проверке OCSP-ответов

OpenSSL

Злонамеренный TLS-сервер способен вызвать утечку памяти в клиентском приложении, использующем OpenSSL для проверки OCSP-ответов. Проблема, идентифицированная как CVE-2026-54876, устранена в версиях OpenSSL 3.6.4 и 4.0.2, о чём разработчики сообщили в бюллетене безопасности от 5 августа 2026 года.

Уязвимость CVE-2026-54876

OCSP (протокол онлайн-проверки статуса сертификата) применяется для подтверждения того, что сертификат сервера не отозван. В рамках TLS-рукопожатия сервер может передать клиенту так называемый сшитый OCSP-ответ. Этот механизм избавляет клиента от необходимости обращаться к отдельному серверу статуса, а потому широко используется на сайтах с большим количеством посетителей. Уязвимость возникает, когда полученный ответ содержит пустой список записей о статусе сертификатов. Из-за раннего выхода из функции обработки выделенная память не освобождается. В результате каждое подключение к вредоносному серверу оставляет в памяти клиента неосвобождённый фрагмент.

Атакующий может увеличить объём утечки, добавив в OCSP-ответ поддельные сертификаты. Эти данные разбираются и сохраняются в памяти до того, как сработает проверка пустого списка. Таким образом, вредоносный сервер наращивает потребление памяти с каждым рукопожатием. Долго работающее приложение, многократно соединяющееся с таким сервером, со временем исчерпывает доступную память и останавливается. Потенциальная атака приводит к отказу в обслуживании.

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

Для успешной эксплуатации злоумышленнику достаточно контролировать TLS-сервер, к которому обращается клиент. Это может быть вредоносный сайт, открытый пользователем, или скомпрометированный легитимный сервис. Атакующий не требует аутентификации и может действовать автоматически, поскольку каждый сеанс связи увеличивает объём утёкшей памяти. В случае ограниченных ресурсов клиентской системы отказ в обслуживании может наступить после относительно небольшого числа подключений.

Важно отметить, что проверка OCSP-ответов не включена в OpenSSL по умолчанию. Уязвимость затрагивает только клиентские приложения, которые явно активируют соответствующие флаги верификации цепочек сертификатов. Следовательно, подверженность угрозе определяется конфигурацией конкретного продукта. Разработчики отмечают, что проблема присутствует в ветках OpenSSL 3.6 и 4.0. Версии 3.5, 3.4, 3.0, 1.1.1 и 1.0.2 не содержат уязвимого кода, поскольку затронутая функциональность в них отсутствует.

FIPS-модули, входящие в состав OpenSSL 4.0 и 3.6, также не затронуты. Уязвимый код расположен за пределами границ модулей FIPS, поэтому сертифицированные криптографические ядра не требуют замены. Уязвимость не влияет на серверные сценарии, если сервер сам не выполняет проверку OCSP-ответов для внешних подключений.

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

Исправления уже выпущены. Пользователям OpenSSL 3.6 следует обновиться до версии 3.6.4, пользователям OpenSSL 4.0 - до версии 4.0.2. При установке обновлений нужно учитывать, что исправления для веток 3.6 и 4.0 выпущены независимо, и переход между ветками не требуется. Если немедленное обновление невозможно, администраторы могут временно отключить проверку OCSP-ответов в клиентских приложениях, при условии что это не противоречит требованиям безопасности. Для эксплуатации уязвимости необходимо, чтобы клиент сам установил соединение с вредоносным сервером; пассивная атака без участия пользователя невозможна.

Уязвимость обнаружили независимо друг от друга Bhabani Sankar Das и Zhenzhe Shao, сообщения поступили 15 и 19 июня 2026 года. Исправление подготовил Mounir Idrassi. Проблема классифицирована как уязвимость низкой степени опасности, однако она показывает, как ошибка управления памятью в широко распространённой криптографической библиотеке позволяет удалённому узлу нарушить доступность клиентского приложения. Библиотека OpenSSL входит в состав операционных систем, веб-серверов, почтовых клиентов и множества других продуктов, поэтому своевременное обновление важно как для конечных пользователей, так и для администраторов. Рекомендуется следить за выходом новых версий библиотеки и применять исправления по мере их публикации.

Ссылки

Комментарии: 0