CVE-2026-11826 in OpenPLC
Zusammenfassung
von VulDB • 18.07.2026
OpenPLC_v3 enthält einen heap-basierten Buffer Overflow in der Funktion getData() in webserver/core/modbus_master.cpp. getData() liest Zeichen zwischen zwei Trennzeichen in einen vom Aufrufer bereitgestellten Puffer ohne Größenparameter und ohne Bereichsprüfung (Bounds Check). In parseConfig() wird die Funktion mit dem 100-Byte großen, im Heap allokierten Feld MB_device.dev_name aufgerufen. Ein authentifizierter Angreifer mit Zugriff auf die OpenPLC-Weboberfläche kann eine manipulierte HTTP POST-Anfrage an den /modbus-Endpunkt senden und dabei einen überdimensionierten device_name-Wert angeben; dieser Wert wird in mbconfig.cfg gespeichert und beim Laden analysiert, wodurch dev_name überschrieben und benachbarte Strukturfelder (protocol bei Offset 108, dev_address bei Offset 109, ip_port bei Offset 210) überschrieben werden. Ein Payload von 200 Bytes schreibt 100 Byte über die Allokation hinaus. Dies führt zu Heap-Korruption, einem Laufzeitabsturz und einer Denial-of-Service-Beeinträchtigung der PLC-Prozesssteuerungsschleife sowie zur angreiferkontrollierten Überschreibung benachbarter Konfigurationsfelder. Das Upstream-Repository wurde am 2026-04-04 archiviert, und es ist keine Korrektur zu erwarten; der Hersteller hat bestätigt, dass das Problem OpenPLC Runtime v4 nicht betrifft.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.