„`html
Zusammenfassung
Eine kritische Heap-basierte Buffer-Overflow-Schwachstelle wurde in OpenPLC_v3 identifiziert (CVE-2026-11826). Die Vulnerabilität existiert in der getData()-Funktion der Datei webserver/core/modbus_master.cpp und ermöglicht authentifizierten Angreifern, einen Denial-of-Service (DoS)-Zustand hervorzurufen sowie Heap-Speicher zu beschädigen. Der CVSS-Score beträgt 8.8, was auf einen hohen Schweregrad hindeutet.
Betroffene Systeme
OpenPLC Runtime v3 und ältere Versionen sind betroffen. OpenPLC Runtime v4 ist gemäß Herstelleraussage nicht anfällig für diese Schwachstelle. Das Upstream-Repository wurde am 04.04.2026 archiviert, daher ist mit keinem offiziellen Patch zu rechnen.
Technische Details
Die getData()-Funktion liest Zeichen zwischen zwei Trennzeichen in einen vom Aufrufer bereitgestellten Puffer, ohne Größenparameter oder Bounds-Checking durchzuführen. In der parseConfig()-Funktion wird diese Funktion mit dem 100-Byte großen Heap-Feld MB_device.dev_name aufgerufen.
Ein authentifizierter Angreifer mit Zugriff auf die OpenPLC-Weboberfläche kann einen manipulierten HTTP-POST-Request zum Endpunkt /modbus mit einem übergroßen device_name-Wert senden. Dieser Wert wird persistent in mbconfig.cfg gespeichert und beim Laden analysiert, was zu einem Puffer-Overflow im dev_name-Feld führt.
Die Schwachstelle ermöglicht das Überschreiben benachbarter Struct-Felder:
- protocol (Offset 108)
- dev_address (Offset 109)
- ip_port (Offset 210)
Ein 200-Byte-Payload schreibt 100 Bytes ĂĽber die Allokationsgrenzen hinaus, was zu Heap-Korruption und Runtime-Crashes fĂĽhrt.
Empfohlene Massnahmen
Nutzer sollten auf OpenPLC Runtime v4 upgraden, sofern möglich. Falls ein Upgrade nicht durchführbar ist, wird dringend empfohlen, den Zugriff auf die Web-Oberfläche des betroffenen Systems auf vertrauenswürdige Netzwerke zu beschränken. Eine Authentifizierung bleibt notwendig, um die Schwachstelle auszunutzen.
Bewertung
CVSS v3.1 Score: 8.8 (High). Die Kombination aus unauthentifiziertem Netzwerkzugriff, fehlenden Sicherheitsprüfungen und der Möglichkeit der Heap-Manipulation macht diese Vulnerabilität kritisch für industrielle Kontrollsysteme.
„`