Apache Tiles:未验证输入可能导致路径遍历和XXE
漏洞详情
受影响包
-
Maven: org.apache.struts:struts-tiles
- 受影响版本:>= 1.3.0, <= 1.3.10
- 已修复版本:无
-
Maven: org.apache.tiles:tiles-core
- 受影响版本:>= 2.0.0
- 已修复版本:无
-
Maven: struts:struts
- 受影响版本:>= 1.1, <= 1.2.9
- 已修复版本:无
漏洞描述
在解析XML定义文件时,会话中设置为DefaultLocaleResolver.LOCALE_KEY属性的值未经过验证,当将用户控制的数据传递给此键时,可能导致路径遍历,最终导致SSRF/XXE攻击。
将用户控制的数据传递给此键可能相对常见,因为在Tiles附带的"tiles-test"应用程序中也曾这样使用来设置语言。
此问题影响从版本2开始的Apache Tiles。
注意:此漏洞仅影响不再受维护者支持的产品。
参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2023-49735
- https://lists.apache.org/thread/8ktm4vxr6vvc1qsxh6ft8jzmom1zl65p
安全评分
严重程度:高
- CVSS总体评分: 7.5/10
CVSS v3基础指标
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 范围: 未改变
- 机密性: 高
- 完整性: 无
- 可用性: 无
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS评分
- 0.856% (第74百分位)
弱点分析
CWE-22
路径名到受限目录的限制不当(路径遍历)
产品使用外部输入构建路径名,旨在识别位于受限父目录下的文件或目录,但产品未能正确中和路径名中的特殊元素,这些元素可能导致路径名解析到受限目录之外的位置。
CWE-776
DTD中递归实体引用限制不当(XML实体扩展)
产品使用XML文档并允许使用文档类型定义(DTD)定义其结构,但未能正确控制实体递归定义的数量。
标识信息
- CVE ID: CVE-2023-49735
- GHSA ID: GHSA-qw4h-3xjj-84cc
- 源代码: apache/tiles
致谢
- ryanmurf Analyst