openPDC и openHistorian допускают выполнение кода и раскрытие топологии энергосистем

vulnerability

Пять уязвимостей в открытых платформах Grid Protection Alliance для энергетики затрагивают системы, которые собирают измерения с устройств мониторинга сети и хранят их архив. Две проблемы получили 9.8 балла из 10 по шкале CVSS. Одна ведёт к выполнению произвольного кода на сервере, вторая открывает вход в приложение с правами администратора по заранее прописанному паролю. Часть ошибок доступна злоумышленнику без учётной записи, если он дотянется до сетевого интерфейса продукта.

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

Речь идёт об openPDC и openHistorian - платформах с открытым исходным кодом для приёма, обработки и архивирования данных энергосистем. Они собирают поток синхрофазорных измерений (PMU - устройства, фиксирующие параметры сети с высокой частотой), передают его по специализированным протоколам и складывают в долговременное хранилище. Разработчик находится в США, а сами платформы развёрнуты по всему миру, в том числе в энергетике и промышленности. Такие узлы часто ставят в изолированных сетях, но именно поэтому их редко обновляют. Любая уязвимость, открывающая доступ к такому серверу, даёт злоумышленнику точку опоры в технологическом сегменте.

Самая тяжёлая проблема - десериализация недоверенных данных в консольном интерфейсе службы (CVE-2026-100730). Интерфейс принимает от клиента структуру данных и восстанавливает из неё объекты, то есть превращает внешний набор байтов в работающие внутри программы сущности. Подсунуть такую структуру можно так, что служба выполнит произвольный код с правами своей учётной записи. На системах со встроенной аутентификацией Windows до интерфейса нужно сначала добраться под легальным пользователем. Там, где аутентификацию Windows не включили, уязвимость открыта для любого, кто видит сеть.

Вторая проблема с той же оценкой 9.8 касается только опубликованного образа Docker. В него вшили учётные данные администратора и не требуют сменить пароль при первом запуске (CVE-2026-105278). Любой, кто дотянется до интерфейса управления, входит под этими данными и получает полный контроль над приложением. Исправлений в образе не будет: разработчик не рекомендует применять опубликованные образы Docker в рабочей среде и не планирует закрывать в них найденное.

Ещё две уязвимости связаны с настройками по умолчанию. Внутренний публикатор данных и интерфейс на базе протокола STTP принимают подключения без аутентификации. Первый отдаёт полный перечень подключённых устройств и каналов измерений. Второй позволяет обмениваться с ним данными. Ни та, ни другая ошибка не требует учётной записи, а оценка первой - 7.5 балла. Разработчик изменил настройки по умолчанию и привязал интерфейсы к локальному адресу. Однако это работает только для новых установок. Системы, обновлённые с прежней версии, сохранят старую конфигурацию, и администраторам придётся проверить привязку вручную.

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

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

Уязвимости нашёл Шубхам Радж из Causal Security и передал данные в Агентство по кибербезопасности и защите инфраструктуры США (CISA), которое опубликовало бюллетень 8 октября 2026 года. CISA не получала сообщений о реальных атаках с использованием этих ошибок. Основной риск сосредоточен в энергетике, где подобные платформы следят за состоянием сетей и накапливают измерения.

Исправления вышли в openPDC 2.9.482 и openHistorian 2.8.585, а ошибку в механизме загрузки компонентов закрыли раньше, в версиях 2.9.477 и 2.8.580. Владельцам систем стоит обновиться до последних выпусков и не полагаться на автоматику: настройки по умолчанию для интерфейсов публикации данных новая версия применит только к чистым установкам. После обновления имеет смысл проверить привязку этих интерфейсов и убедиться, что они не слушают все сетевые адреса. Для Modbus вендор советует ограничить доступ межсетевым экраном и запретить подключения к localhost и частным диапазонам адресов, если в них нет прямой необходимости. CISA со своей стороны напоминает о базовых мерах: не выставлять системы управления наружу, держать их за межсетевым экраном отдельно от корпоративной сети, а удалённый доступ давать только через защищённые каналы.

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

Ссылки

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