Fortinet 周三表示,他们观察到在某些配置下,FortiOS SSL VPN 中一个存在五年之久的安全漏洞最近遭到“滥用”。
此次涉及的漏洞是CVE-2020-12812(CVSS 评分:5.2),这是 FortiOS 中 SSL VPN 的一个身份验证漏洞,如果用户名的大小写发生改变,则用户可能无需输入第二个身份验证因素即可成功登录。
Fortinet 在 2020 年 7 月指出: “当在‘用户本地’设置中启用双因素身份验证,并且该用户身份验证类型设置为远程身份验证方法(例如 LDAP)时,就会发生这种情况。出现此问题的原因是本地身份验证和远程身份验证之间区分大小写的匹配不一致。”
该漏洞此后一直受到多个威胁行为者的积极利用,美国政府也将其列为2021 年针对外围设备的攻击中被武器化的众多弱点之一。

在2025年12月24日发布的新公告中,Fortinet指出,成功触发CVE-2020-12812需要具备以下配置:
如果满足这些前提条件,该漏洞会导致配置了 2FA 的 LDAP 用户绕过安全层,直接通过 LDAP 进行身份验证,而这反过来是因为 FortiGate 将用户名区分大小写,而 LDAP 目录则不区分大小写。
Fortinet解释说:“如果用户使用‘Jsmith’、‘jSmith’、‘JSmith’、‘jsmiTh’或任何与‘jsmith’大小写不完全匹配的用户名登录,FortiGate将不会把该登录信息与本地用户匹配。这种配置会导致FortiGate考虑其他身份验证选项。FortiGate将检查其他已配置的防火墙身份验证策略。”
“在与 jsmith 匹配失败后,FortiGate 会找到辅助配置组‘Auth-Group’,并从中找到 LDAP 服务器。只要凭据正确,无论本地用户策略中的任何设置(双因素身份验证和已禁用帐户)如何,身份验证都将成功。”
因此,该漏洞允许管理员或 VPN 用户在未启用双因素身份验证 (2FA) 的情况下进行身份验证。Fortinet 于 2020 年 7 月发布了 FortiOS 6.0.10、6.2.4 和 6.4.1 版本来修复此问题。尚未部署这些版本的组织可以对所有本地帐户运行以下命令,以防止身份验证绕过问题 -
设置用户名区分大小写功能已禁用
使用 FortiOS 版本 6.0.13、6.2.10、6.4.7、7.0.1 或更高版本的用户,建议运行以下命令 -
设置用户名敏感性禁用
该公司表示:“如果将用户名敏感性设置为禁用,FortiGate 会将 jsmith、JSmith、JSMITH 以及所有可能的组合视为相同,因此可以防止故障转移到任何其他配置错误的 LDAP 组设置。”
作为额外的缓解措施,如果不需要,可以考虑删除辅助 LDAP 组,因为这可以消除整个攻击途径,因为无法通过 LDAP 组进行身份验证,如果用户名与本地条目不匹配,则用户将无法通过身份验证。
然而,新发布的指南并未详细说明利用该漏洞发起的攻击的具体性质,也未说明这些攻击是否成功。Fortinet 还建议受影响的客户联系其支持团队,如果发现管理员或 VPN 用户在未启用双因素身份验证 (2FA) 的情况下通过身份验证,则应重置所有凭据。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。