漏洞详情
包: composer - redaxo/source (Composer)
受影响版本: < 5.20.1
已修复版本: 5.20.1
描述
摘要
Mediapool视图中存在一个反射型跨站脚本(XSS)漏洞,请求参数args[types]在渲染到信息横幅时未进行HTML转义。当已认证用户登录后访问特制链接时,该漏洞允许攻击者在后台上下文中执行任意JavaScript代码。
详情
控制流:
redaxo/src/addons/mediapool/pages/index.php通过rex_request('args', 'array')读取args,并将其作为$argUrl传递给media.list.php。redaxo/src/addons/mediapool/pages/media.list.php将$argUrl['args']['types']注入到HTML字符串中,且未进行转义:1 2 3if (!empty($argUrl['args']['types'])) { echo rex_view::info(rex_i18n::msg('pool_file_filter') . ' <code>' . $argUrl['args']['types'] . '</code>'); }
概念验证(PoC):
- 登录到REDAXO后台。
- 在已认证状态下,打开一个特制的URL,例如:
<host>/index.php?page=mediapool/media&args[types]="><img+src%3Dx+onerror%3Dalert%28document.domain%29> - 信息横幅将显示未经转义的值,并激活注入的
onerror处理程序,从而弹出一个警报框。
影响
该漏洞允许在后台执行任意JavaScript代码,可能导致会话cookie、CSRF令牌或其他敏感数据被盗,并使得攻击者能够以受影响用户的身份执行任何管理操作。
严重性等级:中等
CVSS 总分:6.1 / 10
CVSS v3 基础指标:
- 攻击向量:网络
- 攻击复杂度:低
- 所需权限:无
- 用户交互:需要
- 范围:已变更
- 机密性影响:低
- 完整性影响:低
- 可用性影响:无
CVSS向量: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
弱点
弱点:CWE-79
描述:在网页生成过程中对输入的不当中和(跨站脚本)。产品在将用户可控的输入放置到提供给其他用户的网页输出之前,没有对其进行中和或中和不正确。
参考
- GHSA-x6vr-q3vf-vqgq
- redaxo/redaxo@5892906
来源
redaxo/redaxo
致谢
报告者: tehofu