一个非侵入式检测脚本,用于检测受 CVE-2026-83548(Work Place 接口中的预认证 SSRF,CVSS 10.0)和 CVE-2026-83549(AMC 中的认证后 OS 命令注入,CVSS 7.8)影响的 SonicWall Secure Mobile Access (SMA) 1000 系列设备——这两个被积极利用的零日漏洞可被串联以实现未认证 RCE。
这是一个补丁状态 / 暴露检查,而非漏洞利用工具。它仅执行只读的 HTTP(S) GET 请求,不发送任何 SSRF 或命令注入载荷,也不进行任何认证尝试。此处不包含任何概念验证代码。
Server: SMA/*、__extraweb__ 资源、SMA 1000 Series 帮助链接)。| 固件产品线 | 受影响(≤) | 已修复(≥) |
|---|---|---|
| 12.4.3 | 12.4.3-03453 | 12.4.3-03526 |
| 12.5.0 | 12.5.0-02835 | 12.5.0-02952 |
来源:SonicWall 产品公告 SNWLID-2026-0016。受影响硬件:SMA 1000 型号 6210、7210、8200v。
SMA 1000 通常在外部仅公布其主版本.次版本.补丁产品线(例如 12.5.0)——而非确切的热修复构建版本(例如 12.5.0-02902)。由于已修复构建版本(12.5.0-02952)与易受攻击的构建版本位于相同的 12.5.0 产品线上,因此仅暴露 12.5.0 的目标无法从外部被分类为已修补或易受攻击。在这种情况下,该工具会返回 POTENTIALLY AFFECTED,并提示您在本地(设备控制台 / AMC)确认确切的构建版本。"POTENTIALLY AFFECTED" 结果并非存在漏洞的证明——该设备很可能已修补。
需要 Python 3.8+(仅标准库——无依赖项)。
# 单个目标(验证证书)
python3 sma1000_detect.py vpn.example.com
# 使用裸 IP 和通配符证书——跳过证书验证
python3 sma1000_detect.py -k https://203.0.113.10
# 多个目标,自定义超时
python3 sma1000_detect.py -t 10 host-a.example.com host-b.example.com
示例输出:
[?] POTENTIALLY AFFECTED https://vpn.example.com
Server: SMA/12.5
Version advertised: 12.5.0
SMA 1000 on the 12.5.0 line, but the exact hotfix build is not exposed
externally. This line contains BOTH vulnerable (< 12.5.0-02952) and patched
(>= 12.5.0-02952) builds, so patch state is UNDETERMINED from outside. Verify
the build locally (appliance console / AMC): confirm it is >= 12.5.0-02952.
| 代码 | 含义 |
|---|---|
| 0 | 已修补 / 不受影响 |
| 1 | 受影响,或可能受影响(需验证) |
| 2 | 非 SMA 1000 / 无法确定 |
| 3 | 连接或其他错误 |
根据 SonicWall 的安全公告,升级至 12.4.3-03526 或 12.5.0-02952(或更高版本)。由于这些 CVE 正在野外被积极利用,如果设备在暴露于互联网期间运行的是易受攻击的构建版本,请将其视为可能已被入侵:检查供应商的入侵指标,如果存在任何指标,请重新镜像设备并重置所有用户/管理员密码及 TOTP/MFA 凭据。仅将 AMC / 管理平面访问限制在可信网络内。
此工具仅用于授权的安全测试和防御性补丁验证。仅可针对您拥有或已获得明确书面许可进行测试的系统运行。未经授权的扫描可能违法。作者对滥用不承担任何责任。根据 MIT 许可证提供——请参阅 LICENSE。