
Vérificateur de fixture hors ligne assaini pour CVE-2026-81861 dans SCADAPack Secure Lock
Ce dépôt est une preuve de concept délibérément limitée pour CVE-2026-81861. Il vérifie que deux fixtures contrôlées produites avec le DTM Windows fourni par le vendeur peuvent être authentifiées et décodées à l'aide d'un matériel de clé commun.
Il ne s'agit pas d'un exploit opérationnel. Il ne contient aucun client réseau, cible d'appareil, émetteur DNP3, opération de déverrouillage, commande de falsification de message, scanner de capture, ni déchiffreur de fichier arbitraire. Il ne peut ni contacter ni modifier un RTU.
Le vérificateur n'accepte que ces fichiers groupés exacts, épinglés par SHA-256 :
samples/vendor_generated/vendor_message_s1.bin : message complet produit
par l'initialiseur de message propre au DTM du vendeur.samples/vendor_generated/harnessB_vendor_ciphertext_and_mac.bin : texte
chiffré et MAC produits par les routines cryptographiques du vendeur sur des
octets au format produit assemblés par le chercheur.Aucun de ces fichiers ne provient d'un RTU physique. Ils démontrent l'interopérabilité avec l'implémentation du DTM fournie, et non l'acceptation par un appareil en production ni l'exploitabilité réseau.
Les constantes et clés de production ne sont pas incluses. Un chercheur qui dispose déjà d'un accès autorisé au logiciel concerné peut fournir un fichier JSON local :
{
"hmac_sha256_key": "<64 hex characters>",
"aes128_kek": "<32 hex characters>"
}
Ne validez pas ce fichier. Exécutez la vérification limitée avec :
python3 securelock_poc.py verify-fixtures --key-file /path/to/local-keys.json
La commande rejette tout fichier non nommé dans sa liste d'autorisation de fixtures et vérifie le condensé SHA-256 avant l'analyse. Elle n'affiche jamais les clés fournies.
python3 tests/test_vectors.py
La suite par défaut utilise des vecteurs de test publics AES/RFC 3394 et des
clés de test non-production. Si SECURELOCK_FIXTURE_KEY_FILE désigne un fichier
de clés local valide, elle vérifie également les deux fixtures générées par le
vendeur ; sinon, ces tests sont ignorés.
Consultez l'avis Schneider Electric SEVD-2026-251-03 pour les produits
concernés, les mesures d'atténuation et les recommandations du vendeur.