漏洞概述
该安全公告披露了一个存在于Shopware电商平台Storefront组件登录页面的反射型跨站脚本(XSS) 漏洞,被分配了唯一标识符 GHSA-6w82-v552-wjw2。漏洞的严重性等级为高危,CVSS v3.1基础评分为7.1。
受影响的版本
漏洞影响Shopware及其Storefront组件的多个版本,具体如下:
- shopware/shopware (Composer) 与 shopware/storefront (Composer):
- 受影响版本:
>= 6.4.6.0, < 6.6.10.10以及>= 6.7.0.0, < 6.7.5.1 - 已修复版本:
6.6.10.10及6.7.5.1
- 受影响版本:
漏洞细节与影响
漏洞原理
登录页面的一个请求参数直接在其Twig模板中被渲染,没有经过任何额外的处理或输入验证。这使得攻击者可以通过URL参数直接向模板中注入代码。
由于一个敏感的Cookie未配置HttpOnly属性,且管理员JWT令牌存储在sessionStorage中,任何成功的XSS攻击都可能导致会话Cookie和管理员令牌被窃取。
攻击方式
攻击者可以构造恶意的URL链接,用于钓鱼攻击。漏洞涉及两个参数:
-
waitTime参数:缺乏适当的输入验证。- 测试用例:
/account/login?loginError=1&waitTime=<a%20href%3D"https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FPhishing">Here<%2Fa>
- 测试用例:
-
errorSnippet参数:存在相同问题。- 测试用例:
/account/login?loginError=1&errorSnippet=Reset%20your%20password%20%3Ca%20href%3D%22https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FPhishing%22%3Ehere%3C%2Fa%3E.
- 测试用例:
潜在危害
通过利用此XSS漏洞,恶意攻击者可以在受影响用户的会话上下文中,在其网络浏览器内执行有害操作,包括但不限于:
- 获取用户会话令牌。
- 执行管理员操作(当受影响用户是管理员时)。 这构成了较高的安全风险。
技术指标
- CWE分类:CWE-79 - 在网页生成过程中对输入的不当中和(跨站脚本)
- CVSS v3.1 向量:
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N- 攻击向量(Attack Vector):网络
- 攻击复杂度(Attack Complexity):低
- 所需权限(Privileges Required):无
- 用户交互(User Interaction):需要
- 影响范围(Scope):未改变
- 机密性影响(Confidentiality Impact):低
- 完整性影响(Integrity Impact):高
- 可用性影响(Availability Impact):无
参考与致谢
- 漏洞报告:由 NielDuysters 报告。
- 修复提交:相关修复可参考GitHub提交
shopware/shopware@c9242c0。