IPBUF安全漏洞报告
English
CVE-2026-41466 CVSS 5.4 中危

CVE-2026-41466 ProjeQtor存储型XSS漏洞

披露日期: 2026-04-27

漏洞信息

漏洞编号
CVE-2026-41466
漏洞类型
存储型跨站脚本 (XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
ProjeQtor

相关标签

XSS存储型XSSProjeQtorWeb安全CWE-79CVE-2026-41466

漏洞概述

ProjeQtor 7.0至12.4.3版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于Security.php文件中的checkValidHtmlText()函数未能正确过滤用户输入,仅检测特定模式而未对输出进行编码。攻击者可利用替代语法(如带有事件处理程序的img标签)绕过过滤器,注入恶意载荷,导致查看受影响内容的用户浏览器中执行恶意脚本。

技术细节

该漏洞的核心在于ProjeQtor的输入验证机制存在逻辑缺陷。Security.php中的checkValidHtmlText()函数试图通过检测特定模式来清理HTML内容,但其过滤规则不完整。当输入内容不匹配其预设的恶意特征时,函数会直接返回未经实体编码的原始字符串。攻击者可以利用这一盲点,构造使用img标签配合事件处理器(如onerror)的Payload。由于这种特定的HTML结构可能未被函数的黑名单覆盖,Payload成功存入数据库。当管理员或其他用户访问包含该数据的页面时,浏览器解析HTML并触发事件,导致恶意JavaScript代码在受害者上下文中执行。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标系统正在使用ProjeQtor项目管理系统,且版本在受影响范围内(7.0-12.4.3)。
STEP 2
2. 恶意注入
攻击者以低权限用户身份登录,在评论区或输入框中提交包含img标签和onerror事件的恶意HTML代码。
STEP 3
3. 绕过与存储
服务器端的checkValidHtmlText()函数未能识别该特定语法为威胁,未进行转义即将其存储到数据库中。
STEP 4
4. 触发执行
当其他用户(如管理员)浏览包含该恶意评论的页面时,浏览器加载页面并执行onerror中的JavaScript代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-41466: Stored XSS in ProjeQtor --> <!-- Bypass checkValidHtmlText using img tag with event handler --> <img src=x onerror=alert('CVE-2026-41466_PoC')>

影响范围

ProjeQtor 7.0
ProjeQtor 12.4.3

防御指南

临时缓解措施
在官方补丁发布前,建议限制普通用户提交富文本内容的权限,并在Web应用防火墙(WAF)中添加规则,拦截包含常见XSS事件处理器(如onerror、onload、onmouseover)的HTTP请求。

参考链接

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