Multiple Vulnerabilities in Fortinet Products Could Allow for Arbitrary Code Execution
MS-ISAC ADVISORY NUMBER: 2025-108
概述 在Fortinet产品中发现了多个漏洞,其中最严重的漏洞可能允许攻击者执行任意代码。FortiClient for Windows是一款统一的终端安全解决方案,提供一系列安全功能,包括用于安全远程访问企业网络的VPN客户端、防病毒保护、网页过滤和漏洞评估。FortiExtender是Fortinet提供的一种设备,用于提供安全的5G/LTE和以太网连接以扩展网络边缘。FortiMail是Fortinet的安全电子邮件网关,可防范垃圾邮件、网络钓鱼和恶意软件等电子邮件威胁,并防止数据丢失。FortiPAM提供特权账户管理、会话监控和管理以及基于角色的访问控制,以保护对敏感资产的访问并减轻数据泄露。FortiSandbox是Fortinet的高级威胁检测解决方案,它使用沙箱技术来分析可疑文件和网络流量中的高级威胁,如零日恶意软件和勒索软件。FortiADC是一款应用程序交付控制器(ADC),可提高Web应用程序的可用性、性能和安全性。FortiWeb是一款Web应用程序防火墙(WAF),可保护Web应用程序和API免受SQL注入和跨站脚本等网络攻击,同时有助于满足合规性要求。FortiVoice是一款统一通信解决方案,将语音、聊天、会议和传真集成到一个面向企业和学校的安全平台中。FortiOS是Fortinet的专有操作系统,用于多条产品线。FortiProxy是Fortinet的网络安全网关产品,可保护用户免受基于互联网的攻击,强制执行合规性并提高网络性能。 成功利用这些漏洞中最严重的漏洞可能允许在受影响服务账户的上下文中执行任意代码。根据与服务账户相关的权限,攻击者随后可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新账户。配置为在系统上拥有较少用户权限的服务账户可能比那些以管理用户权限运行的服务账户受到的影响小。
威胁情报 Fortinet已意识到CVE-2025-58034已被在野利用。
受影响系统
- FortiClientWindows 7.4.0 至 7.4.3
- FortiClientWindows 7.2.0 至 7.2.10
- FortiClientWindows 7.0 所有版本
- FortiExtender 7.6.0 至 7.6.1
- FortiExtender 7.4.0 至 7.4.6
- FortiExtender 7.2 所有版本
- FortiExtender 7.0 所有版本
- FortiMail 7.6.0 至 7.6.3
- FortiMail 7.4.0 至 7.4.5
- FortiMail 7.2 所有版本
- FortiMail 7.0 所有版本
- FortiPAM 1.6.0
- FortiPAM 1.5 所有版本
- FortiPAM 1.4 所有版本
- FortiPAM 1.3 所有版本
- FortiPAM 1.2 所有版本
- FortiPAM 1.1 所有版本
- FortiPAM 1.0 所有版本
- FortiExtender 7.6.0 至 7.6.1
- FortiExtender 7.4.0 至 7.4.6
- FortiExtender 7.2 所有版本
- FortiExtender 7.0 所有版本
- FortiSandbox 5.0.0 至 5.0.1
- FortiSandbox 4.4.0 至 4.4.7
- FortiSandbox 4.2 所有版本
- FortiSandbox 4.0 所有版本
- FortiADC 8.0 7.6.0 至 7.6.2
- FortiADC 7.4.0 至 7.4.7
- FortiADC 7.2 所有版本
- FortiADC 7.1 所有版本
- FortiADC 7.0 所有版本
- FortiADC 6.2 所有版本
- FortiWeb 8.0.0 至 8.0.1
- FortiWeb 7.6.0 至 7.6.5
- FortiWeb 7.4.0 至 7.4.10
- FortiWeb 7.2.0 至 7.2.11
- FortiWeb 7.0.0 至 7.0.11
- FortiVoice 7.2.0 至 7.2.2
- FortiVoice 7.0.0 至 7.0.7
- FortiOS 7.6.0 至 7.6.3
- FortiOS 7.4.0 至 7.4.8
- FortiOS 7.2 所有版本
- FortiOS 7.0 所有版本
- FortiOS 6.4 所有版本
- FortiOS 6.2 所有版本
- FortiOS 6.0 所有版本
- FortiPAM 1.6.0
- FortiProxy 7.6.0 至 7.6.3
- FortiProxy 7.4 所有版本
- FortiProxy 7.2 所有版本
- FortiProxy 7.0 所有版本
风险等级
- 政府机构: 大型和中型政府实体 - 高;小型政府实体 - 中
- 企业: 大型和中型企业实体 - 高;小型企业实体 - 中
- 家庭用户: 低
技术摘要 在Fortinet产品中发现了多个漏洞,其中最严重的漏洞可能允许执行任意代码。漏洞详情如下:
战术:初始访问(TA0001) 技术:利用面向公众的应用程序(T1190):
- FortiADC虚拟服务器默认错误页面中存在HTML标签脚本相关的不当中和漏洞(基本XSS)[CWE-80],可能允许未经身份验证的攻击者通过精心构造的URL执行恶意代码。(CVE-2025-58412)
- FortiOS CAPWAP守护程序中的栈溢出漏洞[CWE-124]可能允许相邻网络上的远程未经身份验证攻击者通过发送特制数据包实现任意代码执行。注意:在默认配置下,攻击者必须控制一个经授权的FortiAP才能成功进行攻击,并且需要访问同一本地IP子网。此外,成功利用需要绕过栈保护和地址空间布局随机化(ASLR)。(CVE-2025-58431)
- FortiOS和FortiSwitchManager CAPWAP守护程序中的栈溢出漏洞[CWE-124]可能允许远程经过身份验证的攻击者以低权限用户的身份通过特制数据包执行任意代码或命令。由于栈保护和ASLR的存在,成功利用需要大量的准备工作。此外,攻击者必须能够冒充经授权的FortiAP或FortiExtender。(CVE-2025-53843)
- FortiSandbox中的隔离或分区不当漏洞[CWE-653]可能允许未经身份验证的攻击者通过特制文件逃避沙箱扫描。(CVE-2025-46215)
- FortiWeb中操作系统命令中使用的特殊元素的不当中和漏洞(操作系统命令注入)[CWE-78]可能允许经过身份验证的攻击者通过精心构造的HTTP请求或CLI命令在底层系统上执行未经授权的代码。Fortinet已观察到该漏洞在野利用。(CVE-2025-58034)
- FortiADC中的越界写入漏洞[CWE-787]可能允许经过身份验证的攻击者通过特制的HTTP请求执行任意代码。(CVE-2025-48839)
- FortiVoice中SQL命令(‘SQL注入’)中使用的特殊元素的不当中和漏洞[CWE-89]可能允许经过身份验证的攻击者通过特制的HTTP或HTTPS请求执行未经授权的代码或命令。(CVE-2025-58692)
- FortiClient Windows中访问控制不足的暴露IOCTL漏洞[CWE-782]可能允许经过身份验证的本地用户通过fortips驱动程序执行未经授权的代码。攻击的成功需要绕过Windows内存保护,如堆完整性和HSP。此外,它需要有效且正在运行的VPN IPSec连接。(CVE-2025-47761)
- FortiExtender json_cli中的缓冲区溢出漏洞[CWE-120]可能允许经过身份验证的用户通过精心构造的CLI命令执行任意代码或命令。(CVE-2025-46776)
- FortiClient Windows中的堆缓冲区溢出漏洞[CWE-122]可能允许经过身份验证的本地IPSec用户通过“fortips_74.sys”驱动程序执行任意代码或命令。攻击者需要绕过Windows堆完整性保护。(CVE-2025-46373)
较低严重性漏洞详情:
- FortiMail用户GUI中的CRLF标头注入漏洞[CWE-93]可能允许攻击者通过诱使用户点击特制链接在响应中注入标头。(CVE-2025-54972)
- FortiPAM中内存中敏感信息的明文存储漏洞[CWE-316]可能允许具有CLI读写管理员权限的经过身份验证的攻击者通过诊断命令获取其他管理员的凭据。(CVE-2025-61713)
- FortiExtender中的凭据保护不足漏洞[CWE-522]可能允许经过身份验证的用户通过调试日志命令获取管理员凭据。(CVE-2025-46775)
- FortiClientWindows中的活动调试代码漏洞[CWE-489]可能允许本地攻击者逐步运行应用程序并检索保存的VPN用户密码。(CVE-2025-54660)
- FortiADC日志中向未经授权的参与者暴露敏感信息的漏洞[CWE-200]可能允许具有只读权限的管理员通过产品日志获取外部资源密码。(CVE-2025-54971)
- FortiOS、FortiProxy和FortiPAM中的权限管理不当漏洞[CWE-269]可能允许经过身份验证的管理员通过精心构造的CLI命令绕过可信主机策略。(CVE-2025-54821)
- FortiWeb内部redis服务中的硬编码凭据漏洞[CWE-798]可能允许拥有设备shell访问权限的经过身份验证的攻击者连接到任何正在运行的redis服务并访问其数据。(CVE-2025-59669)
建议 我们建议采取以下措施:
- 在适当测试后,立即将Fortinet提供的稳定渠道更新应用到易受攻击的系统。(M1051:更新软件)
- 保障措施7.1:建立并维护漏洞管理流程:为企业资产建立并维护有文档记录的漏洞管理流程。每年或在发生可能影响此保障措施的重大企业变更时审查和更新文档。
- 保障措施7.2:建立并维护修复流程:建立并维护基于风险的修复策略,该策略应记录在修复流程中,并每月或更频繁地进行审查。
- 保障措施7.4:执行自动化应用程序补丁管理:每月或更频繁地通过自动化补丁管理对企业资产执行应用程序更新。
- 保障措施7.6:执行对外暴露企业资产的自动化漏洞扫描:每月或更频繁地使用SCAP兼容的漏洞扫描工具执行对外暴露企业资产的自动化漏洞扫描。
- 保障措施7.7:修复检测到的漏洞:每月或更频繁地根据修复流程,通过流程和工具修复软件中检测到的漏洞。
- 保障措施16.13:进行应用程序渗透测试:进行应用程序渗透测试。对于关键应用程序,经过身份验证的渗透测试比代码扫描和自动化安全测试更适合发现业务逻辑漏洞。渗透测试依赖于测试人员作为经过身份验证和未经身份验证的用户手动操作应用程序的技能。
- 保障措施12.1:确保网络基础设施是最新的:确保网络基础设施保持最新。示例实现包括运行最新稳定版软件和/或使用当前受支持的网络即服务(NaaS)产品。每月或更频繁地审查软件版本以验证软件支持。
- 保障措施18.1:建立并维护渗透测试计划:建立并维护适合企业规模、复杂性和成熟度的渗透测试计划。渗透测试计划特征包括范围(如网络、Web应用程序、应用程序编程接口(API)、托管服务和物理场所控制)、频率、限制(如可接受时间和排除的攻击类型)、联系信息、修复(如如何内部路由发现)以及追溯要求。
- 保障措施18.2:定期进行外部渗透测试:根据计划要求定期进行外部渗透测试,至少每年一次。外部渗透测试必须包括企业和环境侦察以检测可利用信息。渗透测试需要专门的技能和经验,必须通过合格的方进行。测试可以是白盒或黑盒。
- 保障措施18.3:修复渗透测试发现的问题:根据企业的修复范围和优先级策略修复渗透测试发现的问题。
- 对所有系统和服务应用最小权限原则。以非特权用户(无管理权限的用户)身份运行所有软件,以减少成功攻击的影响。(M1026:特权账户管理)
- 保障措施4.7:管理企业资产和软件上的默认账户:管理企业资产和软件上的默认账户,例如root、administrator和其他预配置的供应商账户。示例实现包括:禁用默认账户或使其无法使用。
- 保障措施5.4:将管理员权限限制在专用的管理员账户:将管理员权限限制在企业资产的专用管理员账户上。从用户的主要非特权账户进行一般计算活动,例如互联网浏览、电子邮件和办公套件使用。
- 漏洞扫描用于发现潜在可利用的软件漏洞并进行修复。(M1016:漏洞扫描)
- 保障措施16.13:进行应用程序渗透测试:进行应用程序渗透测试。对于关键应用程序,经过身份验证的渗透测试比代码扫描和自动化安全测试更适合发现业务逻辑漏洞。渗透测试依赖于测试人员作为经过身份验证和未经身份验证的用户手动操作应用程序的技能。
- 使用功能来检测和阻止可能导致或表明软件利用发生的条件。(M1050:利用保护)
- 保障措施10.5:启用反利用功能:尽可能在企业资产和软件上启用反利用功能,例如Microsoft®数据执行保护(DEP)、Windows® Defender Exploit Guard(WDEG)或Apple®系统完整性保护(SIP)和Gatekeeper™。
- 构建网络的部分区域以隔离关键系统、功能或资源。使用物理和逻辑分段来防止访问潜在敏感的系统与信息。使用DMZ来容纳任何不应从内部网络暴露的面向互联网的服务。配置单独的虚拟私有云(VPC)实例以隔离关键的云系统。(M1030:网络分段)
- 保障措施12.2:建立并维护安全的网络架构:建立并维护安全的网络架构。安全的网络架构必须至少解决分段、最小权限和可用性问题。
- 使用功能来检测和阻止可能导致或表明软件利用发生的条件。(M1050:利用保护)
- 保障措施10.5:启用反利用功能:尽可能在企业资产和软件上启用反利用功能,例如Microsoft®数据执行保护(DEP)、Windows® Defender Exploit Guard(WDEG)或Apple®系统完整性保护(SIP)和Gatekeeper™。
参考 CVE
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-47761
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-46776
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-46373
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-54972
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-61713
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-46775
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-46215
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-54660
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-54971
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-58034
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-48839
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-58692
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-58431
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-53843
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-54821
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-59669
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-58412
Fortinet
- https://fortiguard.fortinet.com/psirt
- https://fortiguard.fortinet.com/psirt/FG-IR-25-112
- https://fortiguard.fortinet.com/psirt/FG-IR-25-251
- https://fortiguard.fortinet.com/psirt/FG-IR-25-125
- https://fortiguard.fortinet.com/psirt/FG-IR-25-634
- https://fortiguard.fortinet.com/psirt/FG-IR-25-789
- https://fortiguard.fortinet.com/psirt/FG-IR-25-259
- https://fortiguard.fortinet.com/psirt/FG-IR-24-501
- https://fortiguard.fortinet.com/psirt/FG-IR-25-844
- https://fortiguard.fortinet.com/psirt/FG-IR-25-686
- https://fortiguard.fortinet.com/psirt/FG-IR-25-513
- https://fortiguard.fortinet.com/psirt/FG-IR-25-225
- https://fortiguard.fortinet.com/psirt/FG-IR-25-666
- https://fortiguard.fortinet.com/psirt/FG-IR-25-632
- https://fortiguard.fortinet.com/psirt/FG-IR-25-358
- https://fortiguard.fortinet.com/psirt/FG-IR-25-545
- https://fortiguard.fortinet.com/psirt/FG-IR-25-843
- https://fortiguard.fortinet.com/psirt/FG-IR-25-736