
Verificador de fixture offline sanitizado para CVE-2026-81861 en SCADAPack Secure Lock
Este repositorio es una prueba de concepto deliberadamente acotada para CVE-2026-81861. Verifica que dos fixtures controlados producidos con el DTM de Windows enviado por el proveedor pueden autenticarse y decodificarse utilizando material de clave común.
No es un exploit operativo. No contiene ningún cliente de red, objetivo de dispositivo, transmisor DNP3, operación de desbloqueo, comando de falsificación de mensajes, escáner de capturas ni descifrador de archivos arbitrarios. No puede contactar ni modificar un RTU.
El verificador acepta únicamente estos archivos exactos incluidos en el paquete, fijados por SHA-256:
samples/vendor_generated/vendor_message_s1.bin: mensaje completo producido
por el propio inicializador de mensajes del DTM del proveedor.samples/vendor_generated/harnessB_vendor_ciphertext_and_mac.bin: texto cifrado
y MAC producidos por rutinas criptográficas del proveedor sobre bytes en
formato de producto ensamblados por el investigador.Ninguno de los archivos provino de un RTU físico. Demuestran interoperabilidad con la implementación del DTM enviado, no la aceptación en un dispositivo real ni la explotabilidad en red.
Las constantes y claves de producción no están incluidas. Un investigador que ya tenga acceso autorizado al software afectado puede proporcionar un archivo JSON local:
{
"hmac_sha256_key": "<64 hex characters>",
"aes128_kek": "<32 hex characters>"
}
No confirmes ese archivo. Ejecuta la verificación acotada con:
python3 securelock_poc.py verify-fixtures --key-file /path/to/local-keys.json
El comando rechaza cualquier archivo que no esté nombrado en su lista de permitidos de fixtures y comprueba el resumen SHA-256 antes de analizarlo. Nunca imprime las claves proporcionadas.
python3 tests/test_vectors.py
La suite predeterminada utiliza vectores de prueba públicos AES/RFC 3394 y
claves de prueba no de producción. Si SECURELOCK_FIXTURE_KEY_FILE nombra un
archivo de claves local válido, también verifica ambos fixtures generados por el
proveedor; de lo contrario, esas pruebas se omiten.
Consulta el aviso de Schneider Electric SEVD-2026-251-03 para productos
afectados, mitigaciones y orientación del proveedor.