[webapps] CubeCart < 6.7.0 - Reflected Cross-Site Scripting (XSS) (Unauthenticated)
CubeCart 6.7.0之前版本的搜索模块存在未认证反射型XSS漏洞(CVE-2026-44376)。攻击者通过构造包含唯一产品名和JavaScript payload的URL,诱使用户点击即可在浏览器中执行任意脚本。本文提供详细分析、攻击步骤、PoC解释及修复建议。
CubeCart 6.7.0之前版本存在未认证反射型XSS漏洞,攻击者可通过搜索模块注入恶意JavaScript。
Medium · CVSS 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)📋 漏洞基础信息
| CVE | CVE-2026-44376 |
|---|---|
| 漏洞类型 | 反射型跨站脚本攻击(XSS) |
| 受影响版本 | CubeCart 6.x.x系列所有版本(<6.7.0) |
| 危害等级 | Medium · CVSS 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) |
| 发布日期 | 2026-05-29 |
| 提交者 | Th3-SAx11 ( https://github.com/Th3-SAx11 ) |
| 来源 | Exploit-DB 原文 ↗ |
🔬 漏洞根因
搜索模块在返回搜索结果时未对用户通过search[keywords]参数输入的搜索关键词进行充分HTML实体编码或过滤,导致攻击者可在搜索关键词中插入任意JavaScript代码并在浏览器中执行。
🎯 攻击场景
1. 攻击者构造一个包含恶意JavaScript的搜索URL,例如https://[TARGET]/cubecart/search?search[keywords]=SAMSUNG%20<script>alert("Test!")</script>&_a=category,其中'SAMSUNG'必须恰好匹配商店中一个已有产品。 2. 攻击者通过钓鱼邮件、社交工程等方式诱使受害者点击该链接。 3. 受害者的浏览器发起请求,服务器返回包含未清洗的搜索关键词的HTML页面。 4. 浏览器解析并执行注入的<script>alert("Test!")</script>,弹出对话框,证明XSS成功。漏洞利用成功标志是攻击者的JavaScript在受害者浏览器上下文中执行。
💥 漏洞影响
攻击者可以在未认证情况下窃取用户会话Cookie、篡改页面内容、执行钓鱼攻击或发起其他客户端攻击,导致信息泄露和用户数据被滥用。
⚔️ Nuclei Exploit 模板
以下为标准 Nuclei v3 格式的利用模板,可直接用于漏洞验证:
id: CVE-2026-44376-detection
info:
name: CubeCart < 6.7.0 - Reflected XSS (Detection)
author: Th3-SAx11
severity: medium
description: |
CubeCart versions before 6.7.0 are vulnerable to Reflected Cross-Site Scripting (XSS) due to improper
sanitization of the search keyword parameter. An unauthenticated attacker can inject arbitrary JavaScript
into the search results page.
reference:
- https://www.exploit-db.com/exploits/52650
classification:
cvss-score: 6.1
cve-id: CVE-2026-44376
http:
- method: GET
path:
- '{{BaseURL}}/search?search[keywords]=test&_a=category'
- '{{BaseURL}}/cubecart/search?search[keywords]=test&_a=category'
matchers-condition: or
matchers:
- type: word
words:
- 'CubeCart'
part: body
- type: word
words:
- 'Powered by CubeCart'
part: body
- type: regex
part: body
regex:
- 'CubeCart\s*[56]\.'🔬 深度技术分析
原始PoC包含两步: 1. 在首页搜索栏手动输入形如'SAMSUNG <script>alert("Test!")</script>'的字符串,其中'SAMSUNG'是数据库中确实存在的唯一产品名,确保搜索结果将原样显示该字符串。 2. 页面加载后弹出alert对话框,确认脚本执行。 直接链接PoC在URL中通过search[keywords]参数传入编码后的payload,&_a=category指定类别页面,同样需保证关键字唯一匹配。
🛡️ 修复建议
官方应升级至CubeCart 6.7.0或更高版本。临时缓解措施:对search[keywords]参数及搜索结果显示内容实施严格的HTML编码(例如使用htmlspecialchars),并配置内容安全策略(CSP)限制脚本来源。
📎 参考链接
🚨 威胁评估
| 📈 EPSS 利用概率 | 暂无数据 |
| 🚨 CISA KEV | 未被已知利用 |
| 🔧 公开 PoC | 暂无公开 PoC |
⚠️ 本文基于公开漏洞数据库,仅供安全研究与防御参考。生成时间: 2026-06-01 08:08 | 来源: Exploit-DB
🤖 常见问题解答(FAQ)
❓ 漏洞怎么检测?
搜索框输入存在唯一的产品名加'<script>alert(1)</script>',如果弹窗,则存在漏洞。也可用curl测试:curl 'https://target/search?search[keywords]=PRODUCT%20<script>alert(1)</script>&_a=category' 查看响应中是否回显未编码的脚本。
❓ 为什么必须搜索唯一产品?
只有搜索结果恰有一项时,页面才会直接回显搜索关键词,否则关键词可能被忽略或覆盖,payload无法执行。
❓ 有没有其他攻击向量?
除了搜索框,原文提到catalogue模块也可能存在同样问题,但未提供具体参数和PoC,建议全面审计所有用户输入输出点。