只读 Python 检查器,通过比较未认证和 csm_processes 会话响应来验证 CVE-2026-20079 Cisco FMC 认证绕过行为。
一个针对 CVE-2026-20079(Cisco Secure Firewall Management Center (FMC) 身份验证绕过漏洞)的小型、刻意限制功能的验证工具。
本仓库是检查器,不是漏洞利用工具。
它不包含该漏洞链中的会话升级、文件写入、命令执行或 RCE 部分。
该检查器向 /help/about.cgi 发送两个 HTTPS 请求:
CGISESSID=csm_processes 的相同请求。仅当第二个响应满足以下条件时,才会将发现标记为 CONFIRMED:
csm_processes 会话上下文。这提供了一种保守的、只读的方式来验证我们在实验室中复现的身份验证绕过行为。
阴性结果并不证明设备已修补。
已记录的绕过要求启动时创建的 csm_processes 会话
保留在设备的会话数据库中。已认证的仪表板/小部件
活动、云管理的 UI 活动以及身份验证触发的清理都可能
将其移除。一旦被移除,此绕过便无法使用该会话;在受影响的设备上,
后续启动可以重新创建它。这并不表明每次
成功登录都会立即禁用该绕过。参见
VulnCheck 的前提条件分析。
受控实验室验证的首选状态: 在最近重启的设备上, 待其 Web 界面可用后、在任何用户进行身份验证 或与 Web UI 交互之前进行测试。此建议源自已发布的 会话前提条件:它增加了启动时创建的会话仍然存在的可能性, 但并不保证阳性结果。
将测试状态与结果区分开来:最近重启的设备 提供了更好的机会来观察此行为;登录或会话清理后的阴性结果 并不表明设备已修补。 即使重启后立即得到阴性结果,也不是修补状态的证明。
例如,用户进行身份验证,UI 活动清除了会话。如果
检查器随后收到重定向或 HTTP 401/403,它会报告 NOT_CONFIRMED:
对于所观察到的行为为阴性,可能是漏洞暴露的假阴性。
身份验证不等于修补。
检查器无法观察登录历史或会话数据库。它对
HTTP 响应进行分类,因此仅凭先前的身份验证不足以强制
得出阴性结果。其他意外响应保持为 INCONCLUSIVE,请求
失败保持为 ERROR。
请使用 Cisco 的公告和 Software Checker 来确定修补暴露情况。
公开版本有意不包含以下功能:
仅接受操作员提供的字面 IP 地址。
公网 IP 需要显式指定 --allow-public 标志。
requests安装:
python3 -m pip install -r requirements.txt
私有/实验室 IP:
python3 CVE-2026-20079-checker.py --host 192.168.1.100
您有权评估的公网 IP:
python3 CVE-2026-20079-checker.py \
--host 203.0.113.10 \
--allow-public
创建 targets.txt:
# One literal IP address per line
192.168.1.100
192.168.1.101
运行:
python3 CVE-2026-20079-checker.py \
--targets targets.txt \
--json results.json \
--csv results.csv
对于包含公网 IP 的授权列表:
python3 CVE-2026-20079-checker.py \
--targets targets.txt \
--allow-public \
--workers 4 \
--json results.json
该工具有意不接受 CIDR 范围。
单主机扫描会显示详细块。使用已记录的
实验室设备(FMC 7.4.2 Build 172)和示例目标 192.168.1.100 的示例输出:
[*] CVE-2026-20079 Read-Only Validation
[*] Target : 192.168.1.100
[*] Endpoint : /help/about.cgi
[*] Mode : Read-only / no exploitation
[+] Appliance : Cisco Secure Firewall Management Center for KVM
[+] Version : 7.4.2
[+] Build : 172
[+] Server : Mojolicious (Perl)
[*] Baseline HTTP : 302
[*] Session HTTP : 200
[*] Session Context : csm_processes
[*] Comparison : baseline=302 -> probe=200
[CONFIRMED] CVE-2026-20079 authentication-bypass behavior observed
[*] Reason : Server returned FMC content with HTTP 200 while explicitly identifying the csm_processes session context.
[*] Summary:
confirmed=1
not_confirmed=0
inconclusive=0
errors=0
[!] Note : NOT_CONFIRMED does not prove the appliance is patched
使用 --targets FILE 的扫描会显示一个紧凑表格,包含 TARGET、RESULT、
VERSION、BASE 和 PROBE 列,随后是摘要。缺失的详细信息
在详细视图中显示为 not observed,在表格中显示为 -。产品和
会话上下文标签仅供参考;它们不会改变检测标准。
JSON/CSV 保留所有现有字段,并追加 product 和 session_context。
阴性结果和缺失的元数据均不能确定修补状态。
| 结果 | 含义 |
|---|---|
CONFIRMED | 观察到的响应与此检查器使用的只读绕过指标匹配。 |
NOT_CONFIRMED | 探测返回了重定向或 HTTP 401/403。未观察到绕过;所需会话可能不存在。这不等同于“已修补”。 |
INCONCLUSIVE | 观察到类似 FMC 或其他异常行为,但检查器无法确认会话身份。 |
ERROR | 网络/TLS/请求失败导致无法确定。 |
退出代码:
0 — 无已确认发现1 — 所有检查均因请求错误而失败2 — 至少有一个已确认发现64 — 提供了公网目标但未指定 --allow-public退出代码 0 表示无已确认发现,包括结果为不确定
或请求错误与未确认结果混合的运行。它不是
修补状态判定。同样,导出中的 vulnerable_behavior: false 表示
未满足确认标准。
在开发过程中,只读行为已针对以下环境复现:
Cisco Secure Firewall Management Center for KVM
7.4.2 Build 172
记录该观察结果的目的是可复现性;它不是 Cisco 权威的易受攻击/已修复版本信息的替代品。
Cisco 将 CVE-2026-20079 评为 严重(CVSS 10.0),并表示成功利用可导致 root 访问权限。Cisco 已发布修复/热修复,并报告截至 2026 年 8 月存在活跃利用。
请遵循 Cisco 当前的公告和 Software Checker,而不是仅依赖此扫描器。
仅针对您拥有或获得明确授权评估的系统运行此工具。
即使请求是只读的,网络安全测试也可能触发监控控制、速率限制、事件响应流程或服务提供商滥用系统。
MIT。参见 LICENSE。