
Bereinigter Offline-Fixture-Verifier für CVE-2026-81861 in SCADAPack Secure Lock
Dieses Repository ist ein bewusst begrenzter Proof of Concept für CVE-2026-81861. Es verifiziert, dass zwei kontrollierte Fixtures, die mit dem vom Hersteller ausgelieferten Windows-DTM erzeugt wurden, mit gängigem Schlüsselmaterial authentifiziert und dekodiert werden können.
Es handelt sich nicht um einen operativen Exploit. Es enthält keinen Netzwerk-Client, kein Geräteziel, keinen DNP3-Sender, keine Entsperroperation, keinen Nachrichten-Forging-Befehl, keinen Capture-Scanner und keinen Arbitrary-File-Decryptor. Es kann keinen RTU kontaktieren oder verändern.
Der Verifier akzeptiert nur diese exakten mitgelieferten Dateien, fixiert per SHA-256:
samples/vendor_generated/vendor_message_s1.bin: vollständige Nachricht, erzeugt
durch den eigenen Message-Initializer des Hersteller-DTM.samples/vendor_generated/harnessB_vendor_ciphertext_and_mac.bin: Ciphertext
und MAC, erzeugt durch kryptografische Routinen des Herstellers über
forschereassemblierte Bytes im Produktformat.Keine der beiden Dateien stammt von einem physischen RTU. Sie demonstrieren die Interoperabilität mit der ausgelieferten DTM-Implementierung, nicht die Akzeptanz durch ein Live-Gerät oder die Netzwerk-Ausnutzbarkeit.
Produktionskonstanten und -schlüssel sind nicht enthalten. Ein Forscher, der bereits autorisierten Zugriff auf die betroffene Software hat, kann eine lokale JSON-Datei bereitstellen:
{
"hmac_sha256_key": "<64 hex characters>",
"aes128_kek": "<32 hex characters>"
}
Committen Sie diese Datei nicht. Führen Sie die begrenzte Verifikation aus mit:
python3 securelock_poc.py verify-fixtures --key-file /path/to/local-keys.json
Der Befehl lehnt jede Datei ab, die nicht in seiner Fixture-Allowlist aufgeführt ist, und prüft den SHA-256-Digest vor dem Parsen. Er gibt niemals übergebene Schlüssel aus.
python3 tests/test_vectors.py
Die Standard-Suite verwendet öffentliche AES/RFC 3394-Testvektoren und
Nicht-Produktions-Testschlüssel. Wenn SECURELOCK_FIXTURE_KEY_FILE eine gültige
lokale Schlüsseldatei benennt, verifiziert sie zusätzlich beide vom Hersteller
erzeugten Fixtures; andernfalls werden diese Tests übersprungen.
Siehe Schneider Electric Advisory SEVD-2026-251-03 für betroffene Produkte,
Mitigationen und Herstellerhinweise.