В операционной системе VxWorks, предназначенной для промышленных и медицинских устройств, обнаружены 11 уязвимостей, шесть из которых критически опасны.

Баги позволяют неавторизованному злоумышленнику выполнить вредоносный код на целевом хосте и получить контроль над оборудованием. Недостатки, получившие название URGENT/11, не затрагивают сертифицированные версии ОС, применяемые в атомной энергетике и других отраслях с повышенными требованиями к безопасности.

Уязвимый стек IPnet

VxWorks — это операционная система реального времени (RTOS), под ее управлением работают более 2 млрд устройств, среди которых:

  • программируемые логические контроллеры (PLCs);
  • МРТ-сканеры;
  • SCADA-оборудование коммунальных служб;
  • контроллеры лифтовых систем;
  • медицинские мониторы;
  • брандмауэры;
  • роутеры и спутниковые модемы;
  • VoIP-телефоны и принтеры.

Проблема кроется в стеке IPnet, который приобрела компания Wind River — разработчик VxWorks — в 2006 году, включенном во все версии ОС, начиная с 6.5. До этого другие поставщики оборудования использовали модуль в своих прошивках, что увеличивает поверхность потенциальной атаки.

RCE-уязвимости позволяют перехватить управление устройством

Наибольшую тревогу специалистов вызывает CVE-2019-12256, получившая 9,8 балла по шкале CVSS. Ошибка обнаружена в реализации IP-заголовков, используемых при преобразовании запросов прикладного уровня в формат для последующей передачи по сети и обратно (канальный уровень по модели OSI). Как выяснили исследователи, переполнение стека при обработке параметров пакетов IPv4 позволяет киберпреступнику выполнить скрипт на устройстве в обход процедур авторизации.

Поскольку баг присутствует в заголовке, злоумышленнику не обязательно отправлять вредоносный запрос на конкретное устройство. Вместо этого нападающий может создать IP-пакет, который примет любая машина в целевой сети, ожидающая данных. Это открывает возможность для массовых атак на промышленные системы и позволяет получить контроль над однотипными приборами производственной цепочки за одну команду.

Еще четыре бага, зарегистрированные как CVE-2019-12255, CVE-2019-12260, CVE-2019-12261 и CVE-2019-12263, относятся к модулю синтаксического анализа протоколов транспортного уровня.

Как пояснили специалисты, пакеты данных, проходящие через службы NAT Traversal и брандмауэры, используют TCP-порты. Если устройство подключено к облачному сервису, злоумышленник может обойти системы защиты и, перехватив соединение, внедрить в заголовки TCP-пакетов сторонний код. Баг позволяет вернуть запрос с инжектом на прибор и запустить на нем вредоносный сценарий.

Эксперты оценили уязвимость CVE-2019-12257 в 8,8 балла по шкале CVSS. Она позволяет злоумышленнику отправить на устройство DHCP-пакет, который вызовет в VxWorks ошибку переполнения кучи. В отличие от предыдущих багов, допускавших атаки неавторизованных киберпреступников, эксплуатация этой ошибки требует доступа к локальной сети, поскольку DHCP-запросы не обрабатываются IP-маршрутизаторами.

Производитель уже подготовил заплатки

Разработчики Wind River выпустили патчи для всех уязвимостей, входящих в URGENT/11, и уведомили клиентов о необходимости обновления. Специалисты отмечают, что VxWorks используют не менее 2000 OEM‑партнеров компании, поэтому процесс доставки апдейтов до конечных устройств может затянуться. Ситуацию облегчает то, что к Сети подключена лишь часть оборудования — примерно 800 тыс. уязвимых приборов.

ИБ-специалисты утверждают, что VxWorks — довольно надежная ОС. За 32 года ее существования в базе данных MITRE зарегистрировано лишь 13 уязвимостей, связанных с этим решением. Один из относительно недавних багов, выявленный в 2015 году, был связан с ошибками в реализации TCP-соединения. Как выяснили аналитики, ОС назначала пакетам данных предсказуемые идентификаторы, что позволяло киберпреступнику подменять их вредоносными клонами.

Категории: Кибероборона, Уязвимости