Fortinet 警告 FortiOS SSL VPN 两因素身份验证绕过漏洞被主动利用

Fortinet 在周三

它观察到在特定配置下,已有五年历史的 FortiOS SSL VPN 安全缺陷在野外被“近期滥用”。

所涉及的漏洞是 CVE-2020-12812(CVSS 评分:5.2),这是 FortiOS SSL VPN 中的身份验证错误,如果用户名的大小写被更改,用户可在未提示第二因素验证的情况下成功登录。

“当在‘本地用户’设置中启用了双因素认证,并且该用户认证类型被设为远程认证方式(例如 LDAP)时,会出现此情况,” Fortinet

指出
(2020 年 7 月)。“问题在于本地和远程认证之间的大小写匹配不一致。”

该漏洞随后在

野外
多个威胁行为者
主动利用,美国政府也将其列为 2021 年针对外围设备的攻击中被武器化的众多弱点之一。

在 2025 年 12 月 24 日发布的最新安全公告中,Fortinet 指出成功触发 CVE-2020-12812 需要满足以下配置:

  • FortiGate 本地用户启用了双因素认证,并指向 LDAP
  • 同一用户必须是 LDAP 服务器上某组的成员
  • 至少有一个 LDAP 组(该组的成员使用双因素认证)在 FortiGate 上配置,并在认证策略中使用,例如管理员用户、SSL 或 IPSEC VPN

如果满足这些前提条件,漏洞会导致配置了 2FA 的 LDAP 用户绕过安全层,直接对 LDAP 进行身份验证。这是因为 FortiGate 将用户名视为大小写敏感,而 LDAP 目录则不然。

“如果用户使用 ‘Jsmith’、‘jSmith’、‘JSmith’、‘jsmiTh’ 或任何与 ‘jsmith’ 大小写不完全匹配的形式登录,FortiGate 将不会在本地用户中匹配该登录,” Fortinet 解释道。“此配置导致 FortiGate 考虑其他认证选项,并检查其他已配置的防火墙认证策略。”

“在未匹配 jsmith 后,FortiGate 找到次要配置的组 ‘Auth-Group’,并从中查询 LDAP 服务器,只要凭证正确,无论本地用户策略(2FA 和已禁用账户)如何,认证都会成功。”

因此,该漏洞可在不进行 2FA 的情况下对管理员或 VPN 用户进行认证。Fortinet 于 2020 年 7 月发布了 FortiOS 6.0.10、6.2.4 和 6.4.1 以修复此行为。尚未升级到这些版本的组织可以对所有本地账号运行以下命令以防止认证绕过:

set username-case-sensitivity disable

对于已升级至 FortiOS 6.0.13、6.2.10、6.4.7、7.0.1 及以上版本的客户,建议运行以下命令:

set username-sensitivity disable

“将 username-sensitivity 设置为禁用后,FortiGate 将把 jsmith、JSmith、JSMITH 以及所有可能的大小写组合视为相同,从而防止因误配置的 LDAP 组而导致的故障转移,” 公司表示。

作为额外的缓解措施,建议在不需要的情况下删除次要 LDAP 组,因为这将彻底消除攻击路径;若用户名未与本地条目完全匹配,用户将无法通过 LDAP 组进行认证。

然而,新发布的指南未提供利用该缺陷的攻击细节,也未说明这些事件是否成功。Fortinet 还建议受影响的客户在发现管理员或 VPN 用户在未使用 2FA 的情况下被认证时,联系支持团队并重置所有凭证。