Уязвимост в сигурността с максимална степен на критичност, засягаща устройствата Siemens SIMATIC IoT2050 Advanced, е обект на активна експлоатация, разкриха от VulnCheck.

Уязвимостта, проследявана като CVE-2026-58115 (CVSS оценка: 10.0), представлява случай на липсваща автентикация за критична функция, която може да бъде използвана от неавтентикиран отдалечен атакуващ за изпълнение на произволен код.

„Устройствата SIMATIC IoT2050 Advanced, работещи под Industrial OS с инсталиран Node-RED, съдържат уязвимост, свързана с липсваща автентикация в HTTP интерфейса на Node-RED, което може да позволи на неавтентикиран отдалечен атакуващ да създава злонамерени потоци и да изпълнява произволен код на базовия сървър с максимални привилегии“, посочиха от Siemens в бюлетин за сигурност, публикуван още през август 2026 г.

Проблемът е отстранен във версии 4.3.4.1 или по-нови. Като смекчаващи мерки Siemens препоръчва на потребителите да деинсталират Node-RED или да подсилят защитата на инсталацията, като следват стъпките по-долу:

  • Активиране на HTTPS достъп
  • Защита на редактора и администраторския API чрез автентикация с идентификационни данни или чрез доставчик на OAuth/OpenID
  • Защита на HTTP възлите (HTTP Nodes) и таблото за управление на Node-RED (Node-RED Dashboard) чрез базова автентикация

Към 30 октомври 2026 г. от VulnCheck заявиха, че са наблюдавали атакуващи, които се опитват да използват CVE-2026-58115 като оръжие срещу тяхната мрежа от примамки (honeypot) в опит да изтеглят и стартират Linux бот.

„Заявката на атакуващия представляваше пълен експлойт“, каза изследователят от VulnCheck Патрик Гарити. „Тя разгърна поток в Node-RED, задейства го автоматично и изтегли двоичен файл от контролиран от атакуващия сървър – всичко това скрито зад три слоя на кодиране.“

По-конкретно, злонамереният поток е проектиран да стартира обвиващ шел скрипт, който използва wget за извличане на двоичния файл на ботнета за архитектура AMD64 от 85.215.73[.]250. Като резервен вариант се използва curl, ако опитът с wget е неуспешен. Във финалния етап двоичният файл се запазва като „/dev/shm/.b“ и се изпълнява.

Оттогава атакуващите зад кампанията са преминали към двуетапен процес, при който командата wget се използва за извличане на друг шел скрипт („wget.sh“) от същия сървър.

Установена е и друга заявка за стартиране на wget/curl към „45.194.90[.]57:38472“ за извличане на зловреден код, наречен „.sys_update“, запазването му на диска като „/tmp/.kworker“ в опит да бъде маскиран като безобидна работна нишка на ядрото (kernel worker thread) и последващото му изпълнение. Точната функционалност на „wget.sh“ или „.kworker“ остава неизвестна, тъй като те не са могли да бъдат извлечени.

„Няколко заявки изобщо не внедриха инструмент за изтегляне. Вместо това потокът разкрива входна HTTP крайна точка (например /cmd или произволно именуван път), свързана чрез функционален възел (function node) към възел за изпълнение (exec node) с активиран параметър addpay, така че атакуващият да може да изпълнява произволни команди по-късно, като ги подава като параметър в заявката“, обясни Гарити. „Тази задна вратичка оцелява дори ако имплантът, съхраняван в паметта, бъде загубен при рестартиране.“