Раскрыты подробности 10-балльных уязвимостей в CODESYS 2

Раскрыты подробности 10-балльных уязвимостей в CODESYS 2

Раскрыты подробности 10-балльных уязвимостей в CODESYS 2

Исследователи из Positive Technologies выявили 10 уязвимостей в фреймворке CODESYS 2; больше половины из них получили по 10 баллов из 10 возможных по шкале CVSS. Данных о злонамеренном использовании какой-либо из новых брешей пока нет. Вендор выпустил соответствующие патчи 11 мая.

Системы CODESYS обеспечивают пользователю среду разработки прикладных программ для ПЛК. Этот фреймворк используют сотни российских и зарубежных производителей, в том числе WAGO, Beckhoff, Kontron, Moeller, Festo, Mitsubishi и HollySys. Созданные ими прошивки установлены на миллионах устройств промышленного назначения.

Основной причиной найденных экспертами проблем является неадекватная проверка данных, вводимых пользователем. Эксплойт во всех случаях предполагает наличие сетевого доступа к устройству.

«Вендор оценил некоторые из этих уязвимостей в 10 из 10 баллов — как крайне опасные, — комментирует Владимир Назаров, глава отдела PT по безопасности промышленных систем управления. — Их эксплуатация может привести к удаленному выполнению команд на ПЛК, что чревато нарушением технологических процессов, авариями на производстве и экономическими убытками. Самый известный пример эксплуатации подобных уязвимостей связан со Stuxnet: это вредоносное ПО смогло изменить проект в ПЛК, в результате чего центрифуги на заводе в иранском Натанзе физически вышли из строя».

Все эти критические уязвимости были выявлены в веб-сервере — компоненте  CODESYS 2, без которого отображение человеко-машинного интерфейса в браузере невозможно (может также использоваться автономно). Согласно бюллетеню разработчика, проблемы CVE-2021-30189 по CVE-2021-30194 классифицируются как переполнение буфера, неадекватный контроль доступа, чтение и запись за границами буфера или обход проверок безопасности файлов. Эксплойт во всех случаях тривиален и позволяет вызвать состояние отказа в обслуживании (DoS) или выполнить произвольный код.

Три уязвимости в системе CODESYS Control V2, отвечающий за связь с клиентскими системами разработки CODESYS, вендор определил как переполнение буфера (CVE-2021-30186, CVE-2021-30188) и неадекватная проверка входных данных (CVE-2021-30195). Их эксплуатация грозит DoS или исполнением стороннего кода и осуществляется отправкой на сервер вредоносного запроса (может потребовать авторизации). Все эти проблемы получили по 8,8 балла CVSS.

Последняя уязвимость (CVE-2021-30187) возникла из-за некорректной реализации подключения библиотеки SysFile при выполнении программы CODESYS Control V2 на Linux. Этот недочет можно использовать для вызова дополнительных функций ОС — к примеру, для удаления файлов, критически важных для технологического процесса. Эксплойт в данном случае тоже может потребовать ввод пароля, но атаку сможет провести любой, даже самый неумелый программист. Степень опасности этой уязвимости оценена в 5,3 балла по CVSS.

Нейросеть с сюрпризом: AppSec.Track проверит модели из Hugging Face

ML-модель из публичного репозитория может оказаться не только умной, но и с неприятным сюрпризом внутри. AppSec Solutions добавила в платформу AppSec.Track предварительную проверку моделей из Hugging Face. По заявлению компании, это первое российское решение, которое блокирует потенциально опасные модели до их попадания на машины разработчиков и в CI.

Каждый запрошенный через корпоративный репозиторий файл автоматически отправляется в «карантин». Пока идёт сканирование, разработчик не может скачать модель, зато видит статус проверки и своё место в очереди. После анализа платформа решает, пропускать артефакт в корпоративную инфраструктуру или оставить за дверью.

Модели проверяются без запуска. AppSec.Track разбирает файлы PyTorch, TensorFlow, Keras и другие сериализованные форматы, включая вложенные архивы, и ищет код, способный выполниться при загрузке. Обнаруженным угрозам присваивается уровень критичности.

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

В AppSec Solutions считают, что со временем индустрия перейдёт на безопасный формат safetensors. Но пока публичные хабы забиты pickle-файлами, доверять модели только за красивые метрики — так себе стратегия.

Второй рубеж защиты работает на этапе сборки. AppSec.Track формирует SBOM и проверяет библиотеки и зависимости по собственной базе уязвимостей. Она охватывает PyPI, npm, Maven, NuGet, CUDA, Julia и другие экосистемы. Фид можно подключить онлайн или развернуть в закрытом контуре.

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

RSS: Новости на портале Anti-Malware.ru