Раскрыты подробности 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.