Node-RED-lek met CVSS 10 wordt actief misbruikt
Aanvallers misbruiken sinds 30 oktober een lek waarmee ze zonder in te loggen code kunnen uitvoeren op servers die Node-RED draaien. Beveiligingsbedrijf VulnCheck beschrijft de aanval in een analyse van 2 november. Node-RED is de flow-editor die veel in homelabs naast Home Assistant draait, maar ook in industriële besturing zit.
Eén POST-verzoek is genoeg
Een van VulnChecks honeypots ving een aanval op waarbij de aanvaller in één POST-verzoek naar /flows een complete flow plaatste die zichzelf direct uitvoerde. Die flow bestaat uit twee standaardonderdelen van Node-RED: een inject-node die na één seconde eenmalig afvuurt, en een exec-node die een shellcommando start. Wie die twee aan elkaar knoopt, heeft een flow die bij het uitrollen meteen een commando uitvoert, zonder dat er verder iemand op hoeft te klikken.
Het commando zelf zat achter drie lagen codering. Een base64-string gaat via base64 -d | sh naar de shell en start een dropper die met wget of curl een bestand bot-linux-amd64 ophaalt en in /dev/shm wegzet. Dat is een stukje RAM, dus er wordt niets naar schijf geschreven. VulnCheck heeft dat binary niet binnengehaald en doet daarom expliciet geen uitspraak over wat het doet.
Het lek staat op naam van Siemens
CVE-2026-58115 heeft zowel in CVSS 3.1 als in CVSS 4.0 de maximale score 10.0. Het CVE-record is niet door Node-RED aangevraagd maar door Siemens, en beschrijft formeel alleen de SIMATIC IoT2050 Advanced (6ES7647-0BA00-1YA2) met Industrial OS en Node-RED erop, in alle versies vóór V4.3.4.1. Op die apparaten dwingt de Node-RED-HTTP-interface geen authenticatie af, waardoor een niet-ingelogde aanvaller op afstand bij de programmeernodes komt die systeemcommando's uitvoeren. In advisory SSA-834709 adviseert Siemens te updaten naar V4.3.4.1 of nieuwer; als alternatief noemt het Node-RED verwijderen of de installatie hardenen.
Het probleem is breder dan die ene Siemens-box. Node-RED is standaard niet beveiligd, en de eigen documentatie zegt dat onomwonden: "anyone who can access its IP address can access the editor and deploy changes". Volgens VulnCheck worden juist instances zonder adminAuth nu automatisch gevonden en misbruikt.
Massascan, geen gerichte aanval
De aanvallen kwamen van één IP-adres in het netwerk van Microsoft (AS8075) dat volgens VulnCheck in Brazilië wordt gelokaliseerd. Tussen 30 oktober en 1 november ging het 16 keer om deze CVE; over de bredere honeypot-infrastructuur logde hetzelfde adres 125 treffers tegen acht verschillende CVE's, waaronder een Apache Solr-lek uit 2019 en pogingen tegen Camunda, Gitea, MLflow, Traefik en Joomla. Dat patroon wijst op opportunistisch massascannen.
In een update van 1 november meldt VulnCheck twee extra varianten. De ene haalt eerst een shellscript op in plaats van direct een binary. De andere downloadt helemaal niets, maar laat een webshell achter: een http in-node op bijvoorbeeld /cmd, via een function-node doorgelust naar een exec-node met addpay aan, zodat de aanvaller later commando's in een queryparameter kan meesturen. Die blijft na een herstart werken, terwijl een implant in /dev/shm dan juist verdwijnt.
VulnCheck heeft de CVE in zijn eigen KEV-catalogus gezet. In die van CISA stond hij op het moment van publicatie nog niet.
Wat je nu kunt doen
- Controleer vandaag of je Node-RED-editor van buiten je netwerk te bereiken is. Standaard luistert hij op poort 1880.
- Zet authenticatie aan via
adminAuthinsettings.js, zoals de Node-RED-handleiding beschrijft. Standaard staat die uit. - Loop je uitgerolde flows na op exec-nodes die je er niet zelf in hebt gezet en op http in-endpoints die je niet kent. Dat is het webshell-patroon uit de update van 1 november.
- Draai je een SIMATIC IoT2050 Advanced met Node-RED, update dan naar V4.3.4.1 of verwijder Node-RED van het apparaat.