Библиотека OPC UA Eclipse Milo позволяет обойти проверку ролей и восстановить пароль пользователя

Eclipse Foundation

Eclipse Milo, открытая библиотека для работы с промышленным протоколом OPC UA (стандарт обмена данными между датчиками, контроллерами и диспетчерскими системами), содержит несколько уязвимостей. Часть из них даёт анонимному клиенту доступ к защищённым узлам и данным о чужих сессиях, часть позволяет восстановить пароль пользователя, ещё две ведут к отказу сервера обслуживать новые запросы. Наивысшая оценка по CVSS v3 - 8.2. CISA опубликовала бюллетень 15 октября 2026 года, об уязвимостях сообщил исследователь Абхинав Агарвал.

Что закрыто в Eclipse Milo 1.1.5

Исправления собраны в версии 1.1.5. Ветка 0.6.x обновлений не получит. CISA описывает пять уязвимостей, хотя в перечне приводит шесть идентификаторов CVE, и у каждой своя причина. Одни связаны с ошибками в проверке прав, другие - с утечками памяти и ресурсов, третья открывает путь к подбору пароля по различиям в ответах сервера.

Обход ролей после копирования настроек

Самая высокая оценка, 8.2 по CVSS v3, у CVE-2026-58080. Уязвимы версии с 1.0.0 по 1.1.4. Серверы, которые полагаются на роли и права, строят рабочую конфигурацию через копирование настроек, и этот механизм не переносит настроенное сопоставление ролей. В результате сессии не получают идентификаторы ролей, а контроллер доступа по умолчанию пропускает проверки. Там, где разрешены анонимные подключения, посторонний клиент читает метаданные о правах, вызывает защищённые методы и удаляет защищённые узлы. То есть настройка выглядит рабочей, но фактически не ограничивает никого.

Диагностика раскрывает данные активных сессий

CVE-2026-63248 затрагивает версии с 0.6.0 по 1.1.4, оценка 6.5. Диагностические узлы сервера не проверяют права доступа. Анонимный клиент включает диагностику через незащищённую конечную точку без сертификата. Если же у клиента есть доверенный сертификат приложения и подключение идёт в защищённом режиме, он читает диагностику по другим активным сессиям. Наружу уходят имена пользователей, история входов, применённые механизмы аутентификации, режимы и политики безопасности, а также открытые части клиентских сертификатов. Эти сведения упрощают подготовку targeted-атак (атак с выбором конкретной жертвы).

Пакетный вызов обходит запрет метода

CVE-2026-62927 действует в версиях с 1.0.0 по 1.1.4, оценка 7.5. Служба Call сначала рассчитывает права для запроса, но затем передаёт обработчикам исходный смешанный пакет. Клиент с низкими правами складывает запрещённый метод с разрешённым в один запрос и выполняет запрещённый. Проверка формально срабатывает, однако решение по правам к моменту исполнения уже не учитывается.

Пароль восстанавливают по различиям в ошибках

CVE-2026-60007 присутствует во всех версиях с 0.6.0 по 1.1.4, оценка 7.4 по CVSS v3 и 9.1 по методике CVSS 4.0. Обработка имени пользователя и токена возвращает разные ошибки при неверном дополнении в шифровании и при прочих сбоях аутентификации. Злоумышленник, который находится на пути трафика и перехватил зашифрованный токен с логином и паролем, отправляет повторные запросы ActivateSession. По различиям в ответах он шаг за шагом восстанавливает пароль, а затем входит под этими данными как обычный пользователь. Риск выше там, где для защиты токена применяют устаревший алгоритм Basic128Rsa15.

Утечка памяти и исчерпание квоты

CVE-2026-63252, версии с 0.6.0 по 1.1.4, оценка 7.5. Обработчики транспортного уровня не освобождают удержанные фрагменты недостроенных сообщений при разрыве канала. Анонимный клиент отправляет неполные блоки данных и обрывает соединение, повторяя это многократно. Память, отведённая серверу, постепенно исчерпывается, и сервер может перестать отвечать всем клиентам.

CVE-2026-61387, версии с 1.0.0 по 1.1.4, оценка 5.3. Учёт квоты на объекты мониторинга не восстанавливает глобальный резерв, если создание объекта завершилось ошибкой. Глубоко вложенные объекты в фильтре событий вызывают переполнение стека при разборе, а неисправленная квота остаётся израсходованной. Неаутентифицированный клиент может выбрать её целиком, после чего ни один клиент не создаст новые объекты мониторинга до перезапуска сервера. Уже созданные объекты и остальные функции при этом работают.

Что делать администраторам

Производитель рекомендует перейти на Eclipse Milo 1.1.5. Для 0.6.x исправленных выпусков нет, поэтому остаётся миграция на 1.1.5 или более новую версию. Отдельно CISA советует не выставлять устройства АСУ ТП напрямую в интернет, размещать их за межсетевым экраном и изолировать от корпоративных сетей. Для удалённого доступа подойдёт VPN, при этом его самого нужно своевременно обновлять. Перед развёртыванием защитных мер CISA просит оценить их влияние на технологический процесс.

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

Ссылки

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