Pavanvootla-sec/CVE-2026-37196

GitHub: Pavanvootla-sec/CVE-2026-37196

该仓库披露了 Nirix TrAQ v3.9.0 工单描述字段中因未正确编码用户输入而导致的高危存储型 XSS 漏洞,并提供 PoC 与修复建议。

Stars: 0 | Forks: 0

# CVE-2026-37196 – nirix traq v3.9.0 中的存储型跨站脚本攻击 (XSS) ## 概述 **nirix traq v3.9.0** 中存在一个**存储型跨站脚本攻击 (XSS)** 漏洞。用户在**工单描述字段**中提供的输入在应用程序界面中渲染之前,未得到妥善的过滤处理。 此漏洞允许经过身份验证的攻击者将恶意 JavaScript payload 注入到工单描述中。该 payload 会被应用程序存储,并在其他用户(包括管理员等特权用户)查看受影响的工单时间线或渲染组件时被执行。 * **CVE ID:** CVE-2026-37196 * **漏洞类型:** 存储型跨站脚本攻击 (CWE-79) * **供应商:** nirix * **产品:** traq * **受影响版本:** 3.9.0 * **攻击类型:** 远程 * **严重程度:** 高 * **研究员:** Pavan V ## 漏洞摘要 该问题的起因是在渲染用户可控的 HTML/JavaScript 输入时,缺乏适当的输出编码或过滤。 经过身份验证的攻击者可以创建或修改工单,并将恶意 payload 插入到**描述字段**中。当其他用户查看受影响的工单时,注入的脚本会在受害者的浏览器上下文中执行。 这可能导致: * 任意 JavaScript 执行 * 会话劫持 * 未经授权代替受害者执行操作 * 窃取敏感信息 * 在特定场景下导致权限提升 ## 受影响组件 **工单描述字段 / 时间线渲染组件** 当包含恶意 HTML 或 JavaScript 的工单描述在应用程序界面中渲染时,由于未进行充分的转义,从而触发了该漏洞。 ## 概念验证 (PoC) ### 示例 Payload ``` ``` ### 复现步骤 1. 使用有效的用户账户登录 traq v3.9.0 实例。 2. 导航到工单创建功能。 3. 创建一个新工单。 4. 将恶意 payload 插入到**描述字段**中。 示例: ``` ``` 5. 保存工单。 6. 从其他用户账户或特权账户打开或预览该工单。 7. 观察到在渲染描述时,JavaScript payload 自动执行。 ## 安全影响 成功利用此漏洞可能允许攻击者: * 在受害者浏览器中执行任意 JavaScript * 访问已验证的会话信息 * 代替受影响用户执行操作 * 篡改工单内容 * 潜在地针对管理员进行权限滥用 ## 根本原因 该应用程序在浏览器中渲染工单描述之前,未能正确过滤或编码用户可控的输入。 用户输入被存储并在随后渲染时,没有采取足够的保护措施来防止 HTML/JavaScript 注入。 ## 缓解措施 建议采取以下缓解措施: * 妥善过滤用户可控的 HTML 内容 * 应用上下文输出编码 * 使用基于白名单的 HTML 过滤器 * 部署强大的内容安全策略 (CSP) * 避免直接渲染来自用户可控输入的原始 HTML ## 时间线 | 事件 | 日期 | | ------------------------ | ---------------------- | | 发现漏洞 | 2026 | | 通知供应商 | 负责任的披露 | | 分配 CVE | CVE-2026-37196 | | 公开披露 | 2026 | ## 免责声明 发布此仓库**仅供安全研究和防御意识教育之目的**。所提供的信息旨在帮助开发人员和防御者了解并修复该问题。 ## 致谢 **发现者:** Pavan V
标签:PoC, Web安全, 多模态安全, 数据可视化, 暴力破解, 漏洞分析, 漏洞披露, 蓝队分析, 跨站脚本(XSS), 路径探测, 防御加固