Im Rahmen von Security Research haben wir in Siemens SINEC INS eine Angriffskette identifiziert, über die ein authentifizierter Web-User vollständige Root-Rechte auf dem darunterliegenden Linux-System erlangen kann. Insgesamt konnten wir vier Schwachstellen identifizieren. Zwei davon lassen sich zu der nachfolgend beschriebenen Attack Chain kombinieren.
SINEC INS stellt zentrale Netzwerkdienste wie DHCP, DNS, NTP, RADIUS und SFTP für industrielle Netze bereit. Ein Angreifer mit Root-Rechten kontrolliert damit die Basisdienste eines gesamten Netzsegments, das Schadenspotenzial ist im OT-Umfeld entsprechend hoch. Über manipulierte DNS- und DHCP-Antworten lassen sich Man-in-the-Middle-Positionen einnehmen, über RADIUS die Authentifizierung aushebeln, über NTP zeitabhängige Prozesse stören. Siemens hat die Schwachstellen mit V1.0 SP2 Update 6 behoben. Betreiber, die eine ältere Version einsetzen, sollten das Update zeitnah installieren.
Entdeckte Sicherheitslücken
Attack Chain: Vom authentifizierten Web-User zu Root auf dem Betriebssystem
Die folgende Darstellung beschreibt das Zusammenspiel der beiden schwerwiegendsten Schwachstellen. Detaillierte Exploit-Schritte werden bewusst nicht veröffentlicht, im Vordergrund steht das zugrunde liegende Attack Pattern.
Schritt 1 – Command Injection über den SFTP-Endpoint (CVE-2026-46746)
SINEC INS stellt in der Weboberfläche ein SFTP-Modul bereit, über das Verzeichnisse angelegt und verwaltet werden können. Der Endpoint PATCH /api/sftp/uploadFiles validiert die übergebenen Verzeichnisnamen nicht ausreichend. Legt ein Angreifer ein Verzeichnis an, dessen Name eine Command-Substitution wie $(id) enthält, wird dieser Name unverändert im Dateisystem abgelegt. Entscheidend ist dabei die Reihenfolge. Der Command wird nicht beim Anlegen ausgeführt, sondern zunächst als Verzeichnisname persistiert. Erst beim Listing des Verzeichnisses über GET /api/sftp/uploadFiles wertet die Shell die Command-Substitution aus. Es handelt sich damit um eine Stored Command Injection, die zu einer Command Execution auf dem Linux-System im Kontext des Service-Users sinecins führt. Als Voraussetzung genügt ein Web-UI-Account, dessen Rolle Rechte für das SFTP-Modul umfasst (konkret sftpRights Level 2). Ein solcher Account ist jedoch nach wie vor unprivilegiert, sinecins besitzt zu diesem Zeitpunkt keine Root-Rechte. Für die vollständige Übernahme des Systems ist daher der zweite Schritt der Kette erforderlich.
Schritt 2 – Privilege Escalation über Linux-Capability (CVE-2026-46748)
Der Foothold als sinecins liefert zunächst nur die Rechte eines unprivilegierten Servicebenutzers. Die eigentliche Privilege Escalation ermöglicht eine Konfiguration auf Dateisystem-Ebene: Das Binary /opt/sinecins/bin/sinecINSsftp ist mit der Linux-Capability cap_dac_override ausgestattet, ein Fall von Execution with Unnecessary Privileges (CWE-250). Unter Linux regelt Discretionary Access Control (DAC), welcher Benutzer welche Datei lesen, schreiben oder ausführen darf. Die Capability cap_dac_override hebt diese Prüfungen auf. Ein Prozess, der die Capability besitzt, darf beliebige Dateien lesen und schreiben, unabhängig von den gesetzten Berechtigungen. Der Kern der Misconfiguration liegt darin, dass dieses privilegierte Binary vom unprivilegierten Service-User sinecins mit einer frei wählbaren Konfiguration gestartet werden darf. Bei sinecINSsftp handelt es sich um einen FTP-Server, der über einen Kommandozeilenparameter eine beliebige Konfigurationsdatei akzeptiert. Startet der Angreifer den Server mit einer eigenen Konfiguration, erhält der Prozess beim Start die Capability. Damit lassen sich über reguläre FTP-Operationen beliebige System-Files lesen und überschreiben. Von dort ist der Weg zu Root kurz. Über den FTP-Server lässt sich ein Cronjob anlegen, der als root ausgeführt wird und dem Angreifer eine Reverse Shell öffnet. Ebenso ist der Weg über /etc/passwd möglich: Der Angreifer liest die Datei aus, ergänzt einen Backdoor-Account mit UID 0 und schreibt sie zurück. Ein Login mit diesem Account liefert dann direkt eine Root-Shell.
Das Gesamtbild
Isoliert betrachtet erscheinen die einzelnen Schwachstellen wenig kritisch: eine Stored Command Injection, die zunächst nur einen Service-Account betrifft, und eine Capability, die sich nur lokal ausnutzen lässt. Zusammen ergeben beide jedoch eine durchgängige Attack Chain vom authentifizierten Web-User bis zu Root, auf einem System, das eine zentrale Position im Netz einnimmt.
Weitere Findings
Neben der beschriebenen Attack Chain wurden zwei weitere Schwachstellen identifiziert. Ein Path Traversal im Directory-Listing des SFTP-Moduls (CVE-2026-46747) erlaubt es, Verzeichnisse außerhalb des vorgesehenen Pfads aufzulisten. Zudem verwendet das Password Hashing der Anwendung einen statischen, hartkodierten Salt sowie eine zu geringe Zahl an Iterations (CVE-2026-46749), wodurch sich Passwort-Hashes deutlich effizienter angreifen lassen. Beide sind ebenfalls mit Update 6 behoben.
Fazit
Vendor Contact Timeline
| Datum | Ereignis |
|---|---|
| 30.01.2026 | Die identifizierten Schwachstellen in Siemens SINEC INS wurden im Rahmen einer Responsible Disclosure an Siemens ProductCERT gemeldet. |
| 02.02.2026 – 18.05.2026 | Siemens analysierte die gemeldeten Schwachstellen, validierte die Ergebnisse und entwickelte entsprechende Patches. |
| 18.05.2026 | Siemens ProductCERT informierte über die geplante Veröffentlichung eines Security Advisories. |
| 09.06.2026 | Siemens veröffentlichte das Security Advisory SSA-860189 – Multiple Vulnerabilities in SINEC INS Before V1.0 SP2 Update 6 und stellte entsprechende Sicherheitsupdates bereit. [1] |
| 23.06.2026 | Die Schwachstellen wurden zusätzlich durch CISA im Alert ICSA-26-174-04 veröffentlicht. [2] |



