仅检测的本地分诊扫描器,用于 Progress WS_FTP Server 2026 年 10 月补丁批次:CVE-2026-84295(CVSS 10.0)及另外 14 个漏洞,按组对照 2024.0.6/2025.0.3 与 2024.0.7/2025.0.4 的拆分修复表进行评级。无载荷,无远程探测。
wsftp-server-scanner针对 2026年10月29日 的 Progress WS_FTP Server 补丁批次的本地分诊工具:15 个漏洞,其中一个是 10.0。给它一个你拥有的版本,它会告诉你该安装是否仍然存在风险,并且它能捕捉到让第一个已修补构建版本说谎的陷阱。它从不接触网络,从不探测服务器,从不发送载荷。
该批次详情 | 值 |
|---|---|
头条 | CVE-2026-84295,身份验证不当,10.0 严重:未经身份验证的远程攻击者可以访问敏感信息,包括管理凭据 |
次严重 | CVE-2026-90868,操作系统命令注入,9.9;CVE-2026-90864、CVE-2026-90863、CVE-2026-90866 为 9.1;CVE-2026-90865,操作系统命令注入,9.0 |
总计 | 15 个 CVE:6 个严重、3 个高危、6 个中危,依据该批次的分析报告 |
利用情况 | 截至 2026年10月31日,未确认存在利用,未报告公开的概念验证。这是关于已报告内容的陈述,而不是等待的理由:文件传输网关中一个 10.0 的未认证凭据漏洞不需要漫长的引信 |
产品 | Progress WS_FTP Server,仅限 Windows |
陷阱:两个修复构建版本,而非一个组 | CVE | 修复于 |
|---|---|---|
A | CVE-2026-84294、CVE-2026-84295、CVE-2026-84296 | 2024.0.6 / 2025.0.3 |
B | CVE-2026-90861 至 CVE-2026-90872(12 个 CVE) | 2024.0.7 / 2025.0.4 |
运行在 2024.0.6 或 2025.0.3 上的主机已经修复了 10.0 漏洞,但仍然暴露于 9.9 命令注入漏洞。修补到第一个已修补构建版本感觉完成了,但实际上并未完成。此工具分别对两组进行评级,并针对这种情况打印 TRAP。表中唯一完全修补的构建版本是 2024.0.7 和 2025.0.4(以及这些分支中的后续构建版本)。
为什么是本地,而非远程WS_FTP Server 运行在 Windows 上,而远程版本指纹识别在这里不可靠:登录横幅可以被隐藏,SSH 标识可以被抑制。因此此工具不探测任何内容。在 Windows 主机本身上运行它(--local 通过 winreg 读取 程序和功能 卸载条目),或者向它提供来自 WS_FTP Manager、关于 或 程序和功能 的版本(--version),或者一个导出的卸载列表(--registry-json)。
版本编号,两种形式均接受Progress 以两种编号销售相同的版本:2024.0 即 9.0,2025.0 即 10.0。因此 9.0.6 意味着 2024.0.6,10.0.4 意味着 2025.0.4,此工具对它们的评级相同。早于 2024.0(9.0)的版本,包括 2022.0(8.8.x),在其分支中没有已修补的构建版本:它们对两组均评级为 VULNERABLE,修复方法是升级分支到 2024.0.7 或 2025.0.4,而不是就地修补。
它检查什么你提供的版本(--version 2024.0.6),按组对照拆分修复表进行评级此 Windows 主机(--local):WS_FTP Server 卸载条目,按名称匹配,因此 WS_FTP Pro 客户端安装不会被评级为服务器离线清单(--registry-json entries.json):一个 JSON 列表,包含 {DisplayName, DisplayVersion} 条目,适用于集中导出 程序和功能 的机群完整表格(--list):所有 15 个 CVE 及其所属组和修复构建版本用法# grade one version, trap case
python3 wsftp_scanner.py --version 2024.0.6
# fully patched build
python3 wsftp_scanner.py --version 2025.0.4
# legacy marketing numbering, same grade
python3 wsftp_scanner.py --version 9.0.6
# on the Windows host itself
python3 wsftp_scanner.py --local
# from an exported uninstall list
python3 wsftp_scanner.py --registry-json entries.json
# machine-readable output for fleets
python3 wsftp_scanner.py --version 2024.0.5 --json
# the full 15-CVE table
python3 wsftp_scanner.py --list
退出码:0 = 未发现漏洞,2 = 存在漏洞发现,1 = 扫描错误。UNKNOWN 不会改变退出码,但它并不代表干净:位于 2024.0 / 2025.0 之外的分支(除 2024.0 之前的版本外)会被评为 UNKNOWN,因为本工具的表中没有该分支的修复构建。
来源存在分歧之处,以及仍未核实的内容首先说明一点:本批次对应的主要 Progress 知识库文章位于 Progress ID 登录之后,因此无法为本次构建直接打开。上文的拆分修复表已通过多个独立的 CVE 记录相互印证(通过 cvefeed 获取的 CVE 项目记录、SecurityFocus 条目以及批次说明),它们均引用了同一份 Progress 公告,且分组划分(3 + 12 = 15)在各来源之间保持一致。如果你拥有 Progress 登录账号,请对照此表确认该文章,如有任何差异请提交 issue。
其次,只有在核查过 CVE 记录时才会打印单项评分:84295 为 10.0,90868 为 9.9,90864 / 90863 / 90866 为 9.1,90865 为 9.0,90867 为 8.1,84294 为 7.7,90869 为 7.5,90872 为 6.6,90871 为 5.3。84296、90861、90862 和 90870 的评分在已核查的来源中未逐一确认,因此本工具按分组列出它们,而不声明具体评分。这不会改变评级结果:决定修复构建的是分组归属,而非单项评分。
如果今天无法打补丁的缓解措施升级才是修复方案;2024.0 之前的分支没有可用的补丁,也没有任何部分补丁能够封堵 B 组。在能够升级之前,请仅将管理 Web 控制台限制在内部网络内,并将任何低于 2024.0.7 / 2025.0.4 且面向互联网的 WS_FTP Server 视为暴露于未认证凭据漏洞之下。对于任何在未打补丁期间面向互联网的主机,请轮换其管理凭据:主要漏洞会暴露这些凭据,而打补丁并不能使它们重新变为未暴露状态。
测试python3 -m unittest discover -s tests -v
17 项测试:两种编号方式下的版本解析、两个分支中的陷阱、完全修补的构建、旧版 9.0 / 10.0 等价性、2024.0 之前无修复的评级、未列出分支的 UNKNOWN、注册表条目匹配,以及 CLI 退出码和 15 个 CVE 列表计数。
致谢Progress Software,感谢其提供的补丁批次以及本工具用于评级的拆分修复表CVE 项目和 CNA 记录,感谢其提供的每个 CVE 的描述和评分SecurityOnline、SecurityFocus 和 cvefeed,其记录在原始文章仍受登录限制时佐证了该表免责声明仅用于防御性分诊。本工具检查版本字符串并报告安装是否低于修复后的构建版本。它不发送任何流量、不探测任何服务器,也不能替代厂商公告。请在您拥有或获授权审计的系统上使用它。
由
Vineeth Kumar(foxcornlab)研究。发现 bug 或想要新功能,请提交issue。