Миллионы ПЛК (программируемых логических контроллеров) в промышленных средах по всему миру уязвимы перед 15 проблемами в CODESYS V3. Уязвимости позволяют осуществлять удаленное выполнение кода (RCE), а также атаки типа «отказ в обслуживании» (DoS).
CODESYS — аппаратно-независимое программное обеспечение, представляющее собой среду разработки для программирования приложений контроллера в соответствии с промышленным стандартом автоматизации IEC 61131-3. Продукты компании используются более чем в 10 странах мира, в том числе и в России. Более 500 производителей устройств используют CODESYS V3 SDK для программирования более 1000 моделей ПЛК.
Эксперты Microsoft сообщают, что проверили два ПЛК Schnieder Electric и WAGO, использующих CODESYS V3, выявили 15 уязвимостей в составе CODESYS V3 SDK и сообщили о них разработчикам еще осенью 2022 года. Обновления для устранения этих проблем были выпущены в апреле 2023 года.
Так как подобные устройства обычно редко получают обновления, исследователи опубликовали информацию об уязвимостях, чтобы повысить осведомленность о рисках и ускорить процесс исправления.
В компании предупредили, что злоумышленники могут использовать обнаруженные баги для атак на ПЛК и другие устройства АСУ ТП.
CVE | Компонент CODESYS | Оценка CVSS | Эффект |
CVE-2022-47379 | CMPapp | 8,8 | DoS, RCE |
CVE-2022-47380 | CMPapp | 8,8 | |
CVE-2022-47381 | CMPapp | 8,8 | |
CVE-2022-47382 | CmpTraceMgr | 8,8 | |
CVE-2022-47383 | CmpTraceMgr | 8,8 | |
CVE-2022-47384 | CmpTraceMgr | 8,8 | |
CVE-2022-47385 | CmpAppForce | 8,8 | |
CVE-2022-47386 | CmpTraceMgr | 8,8 | |
CVE-2022-47387 | CmpTraceMgr | 8,8 | |
CVE-2022-47388 | CmpTraceMgr | 8,8 | |
CVE-2022-47389 | CMPTraceMgr | 8,8 | |
CVE-2022-47390 | CMPTraceMgr | 8,8 | |
CVE-2022-47391 | CMPDevice | 7,5 | DoS |
CVE-2022-47392 | CmpApp/ CmpAppBP/ CmpAppForce | 8,8 | |
CVE-2022-47393 | CmpFiletransfer | 8,8 |
Хотя для эксплуатации перечисленных уязвимостей требуется аутентификация, исследователи пишут, что хакеры могут использовать старые баги в CODESYS (такие как CVE-2019-9013) чтобы обойти это требование.
«Хотя эксплуатация обнаруженных уязвимостей требует глубоких знаний проприетарного протокола CODESYS V3, а также аутентификации (а для получения контроля над ПЛК учетной записи также необходимы дополнительные разрешения), успешная атака способна нанести значительный ущерб целям, — объясняют в Microsoft. — DoS-атака на устройство с использованием уязвимой версии CODESYS может позволить злоумышленникам остановить работу электростанции, тогда как удаленное выполнение кода может создать бэкдор и позволить злоумышленникам вмешиваться в операции, вынуждая ПЛК работать опасным образом, или похитить важную информацию».
Исследователи опубликовали опенсорсный инструмент, призванный помочь пользователям обнаружить уязвимые устройства.
В собственном бюллетене безопасности CODESYS перечисляет следующие продукты как уязвимые (если они работают под управлением версии 3.5.19 и ниже, независимо от конфигурации оборудования и ОС):
- CODESYS Control RTE (SL);
- CODESYS Control RTE (для Beckhoff CX) SL;
- CODESYS Control Win (SL);
- CODESYS Control Runtime System Toolkit;
- CODESYS Safety SIL2 Runtime Toolkit;
- CODESYS Safety SIL2 PSP;
- CODESYS HMI (SL);
- CODESYS Development System V3;
- CODESYS Development System V3 simulation runtime.
Кроме того, следующие продукты затронуты, если используют версии до 4.8.0.0:
- CODESYS Control для BeagleBone SL;
- CODESYS Control для emPC-A/iMX6 SL;
- CODESYS Control для IOT2000 SL;
- CODESYS Control для Linux SL;
- CODESYS Control для PFC100 SL;
- CODESYS Control для PFC200 SL;
- CODESYS Control для PLCnext SL;
- CODESYS Control для Raspberry Pi SL;
- CODESYS Control для WAGO Touch Panels 600 SL.
Администраторам рекомендуется как можно скорее перейти на CODESYS V3 версии 3.5.19.0, а Microsoft также напоминает, что ПЛК и другие важные промышленные устройства стоит отключать от интернета.