Apache Tiles安全漏洞分析:CVE-2023-49735
漏洞概述
Apache Tiles框架中存在一个安全漏洞,当会话中设置的DefaultLocaleResolver.LOCALE_KEY属性值在解析XML定义文件时未经验证,可能导致路径遍历攻击,最终引发服务端请求伪造(SSRF)和XML外部实体(XXE)攻击。
受影响版本
Maven组件
- org.apache.struts:struts-tiles: 版本1.3.0至1.3.10
- org.apache.tiles:tiles-core: 版本2.0.0及以上
- struts:struts: 版本1.1至1.2.9
技术细节
漏洞机制
该漏洞的核心问题在于:当用户控制的数据被传递给DefaultLocaleResolver.LOCALE_KEY时,框架未能对这些输入进行适当的验证。这种使用方式在Tiles附带的’tiles-test’应用程序中相对常见,通常用于设置语言。
影响范围
- 仅影响Apache Tiles 2.0及以上版本
- 该漏洞影响的产品已不再受维护者支持
安全评分
CVSS v3.1评分
- 总体评分: 7.5(高危)
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 影响范围: 未改变
- 机密性影响: 高
- 完整性影响: 无
- 可用性影响: 无
EPSS评分
- 漏洞被利用概率: 0.856%(第74百分位)
相关弱点
CWE-22
路径遍历漏洞 产品使用外部输入构造路径名,但未能正确清理路径名中的特殊元素,导致路径解析到受限目录之外的位置。
CWE-776
XML实体扩展限制不当 产品使用XML文档并允许通过DTD定义其结构,但未能正确控制实体递归定义的数量。
参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2023-49735
- https://lists.apache.org/thread/8ktm4vxr6vvc1qsxh6ft8jzmom1zl65p
备注
目前尚无官方修补版本可用,建议用户评估升级至受支持的替代方案。