IPBUF安全漏洞报告
English
CVE-2026-33531 CVSS 6.5 中危

CVE-2026-33531 InvenTree路径遍历漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-33531
漏洞类型
路径遍历
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
InvenTree

相关标签

路径遍历InvenTree文件读取CWE-22

漏洞概述

InvenTree是一款开源库存管理系统。在1.2.6版本之前,其报告模板引擎存在路径遍历漏洞。拥有员工权限的攻击者可通过精心构造的模板标签读取服务器上的任意文件。该漏洞影响特定函数,建议尽快升级修复。

技术细节

该漏洞位于InvenTree开源库存管理系统的报告模板引擎中,核心问题在于路径遍历验证不足。受影响的函数包括`src/backend/InvenTree/report/templatetags/report.py`文件中的`encode_svg_image()`、`asset()`以及`uploaded_image()`。攻击者需拥有员工级别的账户权限,利用该权限上传或编辑包含恶意模板标签的报告文件。通过在这些函数的参数中插入“../”等路径遍历序列,攻击者可以操纵文件读取路径,进而突破InvenTree的源目录限制。如果服务器以高权限运行InvenTree服务,攻击者可进一步读取系统敏感配置文件(如/etc/passwd)或其他应用程序的数据,导致严重的信息泄露风险。

攻击链分析

STEP 1
1. 获取权限
攻击者获取InvenTree系统的员工级别账户权限。
STEP 2
2. 编辑模板
攻击者登录系统,导航至报告模板管理功能,创建或编辑一个报告模板。
STEP 3
3. 注入Payload
在模板中插入包含路径遍历序列(如'../')的恶意标签,调用`asset()`等受影响函数。
STEP 4
4. 触发渲染
保存模板并触发报告生成或预览,服务器端引擎解析并执行恶意标签。
STEP 5
5. 读取文件
利用漏洞读取服务器文件系统上的任意文件内容,并显示在报告中或返回给攻击者。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-33531: InvenTree Path Traversal # Context: Malicious Report Template # The vulnerability exists in template tags like asset(), encode_svg_image(), etc. # An attacker with staff access can create/edit a report template. # Example payload to read /etc/passwd using the asset tag malicious_template = """ {% load report %} <!-- Attempting path traversal --> {% asset '../../../etc/passwd' %} """ # Note: Actual exploitation requires rendering this template within the InvenTree application context.

影响范围

InvenTree < 1.2.6

防御指南

临时缓解措施
目前没有已知的临时缓解措施。建议立即升级至修复版本(1.2.6 或 1.3.0 及以上)。如果无法立即升级,应严格限制拥有员工权限的用户数量,确保只有可信人员能够编辑报告模板。

参考链接

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