
Санитизированный офлайн-верификатор фикстур для CVE-2026-81861 в SCADAPack Secure Lock
Этот репозиторий представляет собой намеренно ограниченное доказательство концепции для CVE-2026-81861. Он проверяет, что два контролируемых образца, созданных с помощью поставляемого производителем Windows DTM, могут быть аутентифицированы и декодированы с использованием стандартного ключевого материала.
Это не рабочий эксплойт. Он не содержит сетевого клиента, целевого устройства, передатчика DNP3, операции разблокировки, команды подделки сообщений, сканера захвата или дешифратора произвольных файлов. Он не может связаться с RTU или изменить его.
Верификатор принимает только эти точные встроенные файлы, закреплённые по SHA-256:
samples/vendor_generated/vendor_message_s1.bin: полное сообщение, созданное
собственным инициализатором сообщений DTM производителя.samples/vendor_generated/harnessB_vendor_ciphertext_and_mac.bin: шифротекст
и MAC, созданные криптографическими процедурами производителя над байтами
формата продукта, собранными исследователем.Ни один из файлов не получен с физического RTU. Они демонстрируют совместимость с поставляемой реализацией DTM, а не принятие реальным устройством или сетевую эксплуатируемость.
Производственные константы и ключи не включены. Исследователь, уже имеющий авторизованный доступ к затронутому программному обеспечению, может предоставить локальный JSON-файл:
{
"hmac_sha256_key": "<64 hex characters>",
"aes128_kek": "<32 hex characters>"
}
Не коммитьте этот файл. Запустите ограниченную проверку с помощью:
python3 securelock_poc.py verify-fixtures --key-file /path/to/local-keys.json
Команда отклоняет любой файл, не указанный в её списке разрешённых образцов, и проверяет дайджест SHA-256 перед разбором. Она никогда не выводит предоставленные ключи.
python3 tests/test_vectors.py
Набор по умолчанию использует публичные тестовые векторы AES/RFC 3394 и непроизводственные
тестовые ключи. Если SECURELOCK_FIXTURE_KEY_FILE указывает на действительный локальный
файл ключей, он также проверяет оба образца, созданных производителем; в противном случае
эти тесты пропускаются.
См. рекомендации Schneider Electric SEVD-2026-251-03 для затронутых продуктов,
мер по устранению и рекомендаций производителя.