CVE-2025-64516GLPI是一款免费的开源资产和IT管理软件,广泛用于企业的服务台管理、资产追踪和库存管理。该软件支持文档附件功能,用户可以为工单、资产、设备等各类项目上传和附加文档。
在10.0.21和11.0.3之前的版本中,存在一个严重的安全漏洞,允许未授权用户访问附加到任意项目(工单、资产等)的GLPI文档。该漏洞属于IDOR(不安全的直接对象引用)类型,攻击者可以通过猜测或枚举文档ID来访问本应受保护的附件内容,而无需任何认证。
更具威胁的是,如果目标GLPI系统启用了公共FAQ功能,匿名用户也可以利用此漏洞访问敏感文档。这意味着任何人都可以在不需要登录的情况下,获取包含敏感信息的工单附件或资产文档。攻击者可能利用获取的文档内容进行进一步的攻击,如社会工程、凭据收集或横向移动。
该漏洞已被GitHub安全团队发现并报告,编号为GHSA-487h-7mxm-7r46。漏洞的CVSS评分为7.5,属于高危级别,主要影响机密性。
该漏洞的根本原因在于GLPI在处理文档访问请求时,未正确验证当前用户是否有权访问目标文档。当用户请求访问某个文档时,系统仅根据文档ID进行直接对象引用,而没有进行充分的权限检查。
攻击者可以通过以下方式利用此漏洞:
1. **文档ID枚举**:攻击者构造形如 /front/document.send.php?docid=X 或类似接口的请求,其中X是目标文档的ID号。由于系统未验证用户身份和权限,任何人都可以提交此类请求。
2. **ID遍历攻击**:通过自动化脚本遍历可能的文档ID范围(通常是数值型递增ID),攻击者可以批量下载系统中的敏感文档,包括但不限于:
- 工单中的附件(可能包含密码、系统配置、错误日志)
- 资产相关的文档(网络拓扑、IP配置、密码凭证)
- 用户上传的敏感文件
3. **匿名访问**:当公共FAQ功能启用时,系统允许匿名访问部分功能。攻击者可以利用这一配置,无需任何凭据即可发起攻击,增加了漏洞的利用面。
漏洞修复通过以下commit实现:
- commit 51412a89d3174cfe22967b051d527febdbceab3c
- commit ee7ee28e0645198311c0a9e0c4e4b712b8788e27
修复方案在文档访问逻辑中加入了严格的权限验证,确保只有具有相应权限的用户才能访问文档内容。