keraattin/CVE-2026-35616
GitHub: keraattin/CVE-2026-35616
针对 FortiClient EMS 身份验证绕过漏洞的检测与评估工具,解决在无认证情况下绕过身份验证并获取管理 API 访问权限的风险。
Stars: 0 | Forks: 0
# CVE-2026-35616 - FortiClient EMS 身份验证绕过到 RCE
# 扫描子网
nmap -p 443 --script CVE-2026-35616_FortiClientEMS 10.0.0.0/24
# 从文件扫描多个目标
nmap -p 443 --script CVE-2026-35616_FortiClientEMS -iL targets.txt
# 启用服务版本检测
nmap -sV -p 443 --script CVE-2026-35616_FortiClientEMS
```
**示例 Nmap 输出:**
```
PORT STATE SERVICE
443/tcp open https
| CVE-2026-35616_FortiClientEMS:
| VULNERABLE:
| FortiClient EMS Pre-Authentication API Bypass
| State: VULNERABLE
| IDs: CVE:CVE-2026-35616
| Risk factor: Critical (CVSS: 9.1)
| Disclosure date: 2026-04-04
| Extra information:
| Affected endpoints: 2
| Remediation: Apply hotfix for FortiClient EMS 7.4.5/7.4.6 or upgrade to 7.4.7
| CISA KEV deadline: April 9, 2026
| References:
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-35616
|_ https://www.cisa.gov/known-exploited-vulnerabilities-catalog
```
### 手动验证
若要使用 `curl` 手动确认:
```
# 步骤 1:基线 - 应返回 401
curl -sk -X POST https://:443/api/v1/auth/signin \
-H "Content-Type: application/json" \
-d '{}' \
-o /dev/null -w "%{http_code}\n"
# 步骤 2:伪造 - 若返回非 401,可能存在漏洞
curl -sk -X POST https://:443/api/v1/auth/signin \
-H "Content-Type: application/json" \
-H "X-SSL-CLIENT-VERIFY: SUCCESS" \
-H "X-SSL-CLIENT-S-DN: CN=admin" \
-H "X-SSL-CLIENT-SERIAL: 0000000000000001" \
-d '{}' \
-o /dev/null -w "%{http_code}\n"
```
如果第一个请求返回 `401`,而第二个请求返回 `500` 或 `200`,则该实例存在漏洞。
## 妥协指标
请留意以下环境中的迹象:
- **包含 `X-SSL-CLIENT-VERIFY` 头的异常 API 请求**,来自非代理源
- **未预期的策略变更**,在无管理员会话活动的情况下推送到端点
- **新的管理员账户或修改的凭据**,在 EMS 中无对应操作日志
- **受管端点上异常的 FortiClient 代理行为**(如新的软件安装、策略变更)
- **Apache 访问日志** 显示无对应 mTLS 握手的 API 调用
- **蜜罐/IDS 告警**,涉及证书相关头部注入
**要查看的日志来源:**
- FortiClient EMS 应用程序日志
- Apache 访问和错误日志
- 受管端点上的 FortiClient 代理日志
- 显示连接至 EMS API 端口的网络流量数据
## 修复
**立即操作(现在就做):**
1. **应用热修复程序** — Fortinet 于 2026 年 4 月 4 日为 FortiClient EMS 7.4.5 和 7.4.6 发布了紧急热修复
2. **限制网络访问** — 仅允许受信任的管理网络访问 EMS 管理界面(使用防火墙规则、ACL)
3. **监控 API 活动** — 启用详细日志记录并监控异常 API 访问模式
**短期(本周内):**
4. **升级到 FortiClient EMS 7.4.7**(可用时)获取完整修复
5. **审核端点配置** — 检查所有受管端点是否存在未经授权的策略变更
6. **轮换凭据** — 更改所有管理员密码并重新生成 EMS 管理的证书
7. **审查受管端点** — 扫描是否存在恶意软件部署或未授权的配置变更迹象
**长期:**
8. **网络分段** — 确保 EMS 处于隔离的管理 VLAN 中,并实施严格的访问控制
9. **WAF/反向代理规则** — 在网络边缘部署规则,以剥离传入请求中的 `X-SSL-CLIENT-VERIFY`、`X-SSL-CLIENT-S-DN` 和 `X-SSL-CLIENT-SERIAL` 头部
10. **监控** — 实施对无有效 mTLS 会话的 API 访问的告警机制
## 参考资料
- [CISA KEV 目录 - CVE-2026-35616](https://www.cisa.gov/news-events/alerts/2026/04/06/cisa-adds-one-known-exploited-vulnerability-catalog)
- [Tenable 博客 - CVE-2026-35616 分析](https://www.tenable.com/blog/cve-2026-35616-fortinet-forticlientems-improper-access-control-vulnerability-exploited-in-the)
- [Bishop Fox - FortiClient EMS 中的 API 身份验证绕过](https://bishopfox.com/blog/api-authentication-bypass-in-forticlient-ems-7-4-5-7-4-6-cve-2026-35616)
- [SOCRadar - CVE-2026-35616 FortiClient EMS 身份验证绕过](https://socradar.io/blog/cve-2026-35616-forticlient-ems-auth-bypass/)
- [Horizon3.ai - CVE-2026-35616 分析](https://horizon3.ai/attack-research/vulnerabilities/cve-2026-35616/)
- [BleepingComputer - FortiClient EMS 漏洞在攻击中被利用](https://www.bleepingcomputer.com/news/security/new-fortinet-forticlient-ems-flaw-cve-2026-35616-exploited-in-attacks/)
- [The Hacker News - Fortinet 修复被积极利用的 CVE-2026-35616](https://thehackernews.com/2026/04/fortinet-patches-actively-exploited-cve.html)
## 作者
**Kerem Oruç** — 网络安全工程师
- GitHub:[@keraattin](https://github.com/keraattin)
- Twitter:[@keraattin](https://twitter.com/keraattin)
标签:API安全, BurpSuite集成, CISA KEV, CVE, CVE-2026-35616, CVSS 9.1, CWE-284, Django中间件, FortiClient, FortiClient EMS, HTTP头伪造, JSON输出, Nmap NSE, Python扫描器, RCE, URL发现, X-SSL-CLIENT-VERIFY, 中间人攻击, 主动利用, 企业安全, 协议分析, 安全检测, 完全未认证, 客户端证书, 数字签名, 权限提升, 检测脚本, 漏洞分析, 漏洞披露, 端点安全, 编程工具, 网络安全, 网络资产管理, 补丁管理, 认证绕过, 路径探测, 身份验证绕过, 远程代码执行, 逆向工具, 隐私保护