Проверка сертификатов в Erlang/OTP позволяет подменить сервер в сети

vulnerability

В программной платформе Erlang/OTP обнаружили уязвимость, из-за которой приложения принимают поддельные сертификаты серверной стороны. Проблема затрагивает библиотеки Erlang/SSL и Erlang/Public key, отвечающие за установку защищённых соединений. Удалённый злоумышленник может выдать себя за доверенный узел и прервать работу сервиса. Сведения внесли в Банк данных угроз безопасности информации (BDU) под номером BDU:2026-15286, уязвимости присвоен идентификатор CVE-2026-32144.

Детали уязвимости

Erlang/OTP - платформа для построения распределённых и отказоустойчивых систем. На ней работают телекоммуникационное оборудование, системы обмена сообщениями, распределённые базы данных и сервисы, которым нужна длительная работа без остановок. Библиотеки SSL и Public key внутри платформы реализуют протокол TLS, то есть механизм шифрования трафика между двумя узлами. Именно этот механизм защищает данные от чтения и подмены в сети.

Уязвимость относится к классу неправильного подтверждения подлинности сертификата (CWE-295). Проще говоря, клиент не всегда корректно проверяет, кому и кем выдан сертификат собеседника. В норме приложение сверяет цепочку подписей, срок действия документа и имя узла. Отказ хотя бы на одном шаге ведёт к разрыву соединения. Здесь проверка проходит в тех случаях, когда доверия быть не должно, и приложение продолжает обмен данными с чужим узлом.

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

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

Оценки опасности расходятся в зависимости от методики. По версии CVSS 3.1 базовый балл составляет 10,0 из 10,0 при сетевом векторе и без необходимой аутентификации. Более новая методика CVSS 4.0 даёт 7,6, а устаревшая CVSS 2.0 - 9,4. Расхождение объясняется тем, что разные версии по-разному учитывают условия атаки и требования к участию пользователя. Однако общий вывод одинаков: уязвимость требует приоритетного внимания.

Затронут широкий круг продуктов. Это ветки Erlang/OTP 27 и 28, а также библиотеки Erlang/Public key версий от 1.16 до 1.20.3 и Erlang/SSL от 11.2 до 11.5.4. На практике проблема наследуется операционными системами и платформами, которые включают Erlang в поставку. В перечень попали РЕД ОС 7.3 и 8.0 от компании "Ред Софт" (запись в едином реестре российских программ №3751), Debian GNU/Linux 13, а также Red Hat OpenStack Platform версий 16.2, 17.1 и 18.0.

Для российских заказчиков важна связка с РЕД ОС. Эта система применяется в госсекторе и на объектах, где требования к защите регулируются отдельно. Red Hat OpenStack Platform отвечает за управление облачной инфраструктурой: виртуальными машинами, хранилищами и сетями. Уязвимость в узле, через который проходят служебные соединения облака, создаёт риск для всех арендаторов такого облака. Debian GNU/Linux 13 при этом остаётся массовой серверной системой, в том числе в веб-хостинге и внутренних сервисах компаний.

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

Исправления уже вышли. Разработчики Erlang/OTP закрыли проблему в библиотеках Public key и SSL, обновления опубликованы в открытых репозиториях платформы. Дистрибутивы выпускают собственные пакеты: их следует устанавливать штатными средствами системы. Для РЕД ОС обновления лежат в репозиториях поддержки версий 7.3 и 8.0, для Debian и продуктов Red Hat - в соответствующих бюллетенях безопасности.

Если обновление пока недоступно, ФСТЭК России советует опираться на методический документ "Рекомендации по безопасной настройке операционных систем LINUX", утверждённый 25 декабря 2022 года. В таких условиях разумно ограничить доверенные сетевые маршруты, отключить лишние внешние соединения и внимательнее следить за журналами TLS-сессий. Радикальным решением остаётся установка исправленных сборок платформы.

Ссылки

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