CVE-2024-21762: FortiOS/FortiProxy SSL-VPN 未授权 RCE 漏洞分析
CVE-2024-21762: FortiOS/FortiProxy SSL-VPN 未授权 RCE 漏洞分析
CVE-2024-21762 是 Fortinet 近年最值得重点跟踪的边界设备高危漏洞之一。它影响 FortiOS 与 FortiProxy 的 SSL-VPN 暴露面,属于典型的预认证、互联网可达、已知在野利用漏洞。
Fortinet 生态的风险不在于单个 CVE 本身,而在于这条攻击面已经连续多年反复出现高危问题:
CVE-2022-42475CVE-2023-27997CVE-2024-21762
这说明攻击者对 SSL-VPN 入口的研究与武器化是持续的,而不是一次性事件。
0x01 漏洞背景与影响范围
Fortinet 官方将 CVE-2024-21762 定义为 sslvpnd 中的越界写漏洞,攻击者可通过特制 HTTP 请求实现未授权代码或命令执行。NVD 给出的 CVSS 3.1 为 9.8,官方严重等级为 Critical,并且厂商明确表示该漏洞“可能已在野利用”。
受影响版本
公开资料给出的主要受影响版本如下。
FortiOS
7.4.0到7.4.27.2.0到7.2.67.0.0到7.0.136.4.0到6.4.146.2.0到6.2.156.0.0到6.0.17
FortiProxy
7.4.0到7.4.27.2.0到7.2.87.0.0到7.0.142.0.0到2.0.131.2、1.1、1.0全版本
修复版本
至少应升级到以下版本或更高版本:
FortiOS 7.4.3FortiOS 7.2.7FortiOS 7.0.14FortiOS 6.4.15FortiOS 6.2.16FortiOS 6.0.18FortiProxy 7.4.3FortiProxy 7.2.9FortiProxy 7.0.15FortiProxy 2.0.14
一个经常被忽略的重点
Fortinet 官方给出的临时缓解措施是:
- 禁用 SSL-VPN
而不是“仅禁用 web mode”或做轻量配置调整。换句话说,如果业务仍然开放 SSL-VPN 暴露面,很多看似局部的缓解都不应被视为真正收敛。
0x02 漏洞原理
1. 核心问题位于 sslvpnd 的 HTTP 请求处理
CVE-2024-21762 并不是简单的参数注入,也不是传统命令拼接,而是 sslvpnd 在处理特制 HTTP 请求时出现了内存写越界问题。
公开补丁分析和逆向研究普遍指向:
Transfer-Encoding: chunked- chunk 长度字符串解析
- 请求体处理过程中的边界校验缺失
攻击者可以通过异常构造的 chunked 请求,使服务端在内存处理阶段发生错误,进而把一个原本只该导致崩溃的输入升级成潜在代码执行入口。
2. 为什么这是典型的“边界设备高价值漏洞”
这类漏洞的可怕之处在于:
- 发生在预认证阶段
- 直接暴露于互联网
- 命中的是承担远程接入的核心进程
- 目标设备本身保存有大量配置、凭据与连接关系
因此攻击者一旦稳定利用成功,收益远高于打下一台普通 Web 服务。
3. 公开研究的核心结论
Bishop Fox 与 Assetnote 的研究都表明,这个漏洞更接近“需要稳定化处理的内存破坏型 RCE”,而不是那种低门槛、线性拼接即可命令执行的漏洞。
也正因如此,公开高质量利用研究的节奏略慢于补丁披露,但这并不降低真实风险,反而说明:
- 真实攻击者可能在公开 PoC 之前就已掌握稳定打法
- 蓝盾不能因为“看不到满天飞的一键脚本”就误判风险低
4. 本质总结
这条路径可以概括为:
未授权 HTTPS 请求 -> SSL-VPN 请求解析 -> chunked 处理越界写 -> sslvpnd 内存破坏 -> 潜在代码执行
它打中的不是业务应用,而是整个边界访问控制链的核心入口。
0x03 利用路径与攻击链
1. 首先命中 SSL-VPN 暴露面
攻击者需要的前提非常简单:目标暴露了 SSL-VPN。随后即可向 /remote/ 相关路径发送特制请求,尝试触发 sslvpnd 的异常处理链。
2. 从越界写到后利用
一旦执行能力建立,攻击者通常不会满足于一次命令验证,而会立刻转入更稳定的后利用动作,例如:
- 导出配置
- 读取本地与远程认证材料
- 检查管理员与 VPN 用户配置
- 建立后门或隐藏访问路径
这类设备上的后利用价值非常高,因为它们经常保存着:
- 本地管理员口令哈希或策略
LDAP绑定信息RADIUS配置IPsec预共享密钥- 证书与私钥材料
3. 历史同类漏洞说明它常被当作“长期入口”
把 2022 到 2024 的三个代表漏洞串起来看,会发现攻击者真正看重的是同一个攻击面:
SSL-VPN- 边界身份认证
- 可直接接触互联网
- 修复滞后时可大面积批量利用
这也是为什么 Fortinet 的漏洞研究不应只写单点,而要把它看成一个持续的产品家族风险。
0x04 POC 与验证思路
出于安全考虑,这里不提供可直接攻击公网设备的利用代码,仅保留防守视角下的研究思路。
防守型验证重点
企业内网自查时,更有价值的是:
- 确认
SSL-VPN是否对公网开放。 - 确认版本是否落在受影响区间。
- 检查是否出现异常
chunked请求命中/remote/路径。 - 检查
sslvpnd是否发生崩溃、异常重启或错误日志。 - 排查是否存在后续异常文件、符号链接或配置异常访问。
公开工具的意义
该漏洞已有研究型检测脚本和公开 PoC 出现。对防守团队来说,真正重要的不是复现攻击,而是理解:
- 修复前后对异常
chunk length的处理行为不同 - 检测更适合走协议级和行为级思路
- 不应只依赖固定
IOC或某个单一 payload 片段
0x05 高级利用姿势
1. 真正危险的是“补丁后仍可能有残留”
Fortinet 在 2025 年额外披露过一个很关键的现实问题:攻击者可能在利用 CVE-2022-42475、CVE-2023-27997、CVE-2024-21762 后,于 SSL-VPN 语言文件服务目录植入符号链接,从而在设备后续升级补丁后,仍保留对部分文件系统内容的只读访问能力。
这意味着:
- 漏洞修复不等于后门已清除
- 设备升级后仍可能存在残留持久化
- 对历史暴露资产必须继续做完整性核查
2. 先拿配置,再做二次控制
对于边界设备,攻击者最看重的往往不是交互 shell 本身,而是:
- 配置文件
- 凭据
- 证书
- 信任关系
因此更典型的武器化路线是:
- 打下
SSL-VPN - 获取配置与认证材料
- 继续控制远程接入链路
- 向内网与下游认证体系扩展
3. 行为隐蔽性强于普通 WebShell 场景
Fortinet 场景中的后利用不一定表现为一个显眼的 PHP/JSP 文件,更可能体现为:
- 符号链接
- 配置篡改
- 异常读取
- 管理配置被悄悄变更
这也是为什么排查 Fortinet 设备时,不能只做“扫 webshell”这类面向通用主机的动作。
4. 连续 CVE 说明攻击者关注的是整个产品线
如果把 CVE-2022-42475、CVE-2023-27997、CVE-2024-21762 放在一起看,就会发现:
- 这些都围绕
SSL-VPN - 都具有极强的互联网批量利用潜力
- 都容易和后续持久化、凭据窃取结合
因此建立知识库时,应该把 FortiOS/FortiProxy 视为持续重点跟踪产品线。
0x06 日志痕迹与应急排查
1. 网络侧请求特征
重点关注:
/remote/路径- 带
Transfer-Encoding: chunked的异常请求 - 不符合正常客户端行为的请求体结构
- 异常 trailer 或长度字段
这类痕迹对协议级检测非常重要。
2. sslvpnd 异常
对 CVE-2024-21762 来说,sslvpnd 的崩溃、异常重启或与请求时间点对应的故障日志,是非常关键的线索。内存破坏类漏洞往往会在这里留下侧面证据。
3. 文件系统完整性
应重点检查:
SSL-VPN相关语言文件服务目录- 是否存在异常符号链接
- 关键系统文件是否被间接暴露
- 配置目录是否被异常读取或导出
如果设备曾长期暴露,且处于历史脆弱版本,应尤其关注官方 2025 年披露的后利用残留风险。
4. 配置与凭据泄露风险
如果设备可能已失陷,应同步评估以下材料是否已暴露:
- 管理员密码
- 本地用户口令
- VPN 用户凭据
RADIUS secretLDAP绑定口令IPsec PSK- 证书与私钥
这一步往往比“有没有一个明显后门文件”更重要。
5. 应急处置原则
一旦怀疑设备受影响,建议按“已入侵”而不是“仅需打补丁”处理:
- 立即升级到修复版本
- 收集
IoC与完整性信息 - 必要时执行干净重装或重建设备
- 轮换所有高价值凭据与密钥
- 审核所有与该设备关联的认证和远程接入链路
0x07 修复与缓解建议
1. 第一优先级是升级
直接升级到官方修复版本或更高版本,是阻断继续利用的核心步骤。
2. 不能立刻升级时,关闭 SSL-VPN
这比局部关闭功能更可靠。仅关闭 web mode 并不能被视为完整缓解。
3. 对历史暴露资产做更高等级排查
如果设备在漏洞披露前后长时间暴露于公网,即便现在版本已修复,也建议继续:
- 校验文件系统完整性
- 检查是否存在恶意符号链接
- 回看日志与流量
- 确认是否有异常管理员操作和配置变化
4. 必要时重装重建
Fortinet 官方对疑似失陷设备的建议并不只是“删除异常文件”,而是强调:
- 使用可信固件
- 校验哈希
- 重新部署
- 从干净备份恢复或手工重建配置
这说明边界设备在深度失陷后,简单的“原地修补”并不可靠。
5. 轮换所有可能受影响的秘密
至少应考虑重置:
- 管理员与本地账号口令
- VPN 用户口令
RADIUS共享密钥IPsec PSKLDAP绑定凭据- 证书与私钥材料
0x08 参考资料
- Fortinet PSIRT - FG-IR-24-015 / CVE-2024-21762
- NVD - CVE-2024-21762
- CISA KEV - CVE-2024-21762
- Fortinet PSIRT Blog - Analysis of Threat Actor Activity
- Fortinet Community - 失陷设备处置建议
- Fortinet Community - IoC 与完整性采集指引
- Bishop Fox - CVE-2024-21762 检测与补丁分析
- Bishop Fox - 检测脚本项目
- Assetnote - FortiGate RCE 技术分析
- GreyNoise - 检测工程视角研究
- Fortinet PSIRT - FG-IR-23-097 / CVE-2023-27997
- Fortinet PSIRT - FG-IR-22-398 / CVE-2022-42475