本仓库是针对 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。