В программируемых контроллерах SIMATIC производства Siemens обнаружена возможность обхода защиты памяти, грозящая исполнением стороннего кода. Разработчик выпустил обновления для нескольких затронутых продуктов, а для остальных пока предлагает временные меры защиты.
По словам авторов находки, уязвимость CVE-2020-15782 позволяет при наличии сетевого доступа к TCP-порту 102 получить доступ к защищенным областям памяти на чтение и запись. Аутентификации при этом не требуется.
Разработанная в Claroty концепция атаки делает ставку на побег из песочницы, в которой обычно исполняется нативный код. Используя эту возможность, исследователям удалось успешно внедрить в память устройства свой шелл-код и добиться его исполнения.
«Выход за пределы песочницы позволяет автору атаки выполнить чтение и запись из любой позиции на ПЛК, а также пропатчить существующий код операций в памяти виртуальной машины вредоносным кодом для получения root-доступа, — пишут эксперты — Используя эту технику, мы установили в систему программу уровня ядра, функции которой были полностью скрыты от операционной системы».
Проблема CVE-2020-15782 получила 8,1 балла по шкале CVSS. Согласно бюллетеню Siemens (PDF), она затрагивает ряд продуктов, в том числе CPU SIMATIC S7-1200 и S7-1500. Создатель решений для промышленной автоматизации выпустил обновления прошивок для некоторых устройств, остальные выйдут позднее.