Apache Tiles路径遍历与XXE漏洞深度解析

本文详细分析CVE-2023-49735漏洞,该漏洞影响Apache Tiles框架,未经验证的输入可能导致路径遍历和XXE攻击,影响版本从2.0.0开始,目前已不受维护者支持。

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定义其结构,但未能正确控制实体递归定义的数量。

参考链接

备注

目前尚无官方修补版本可用,建议用户评估升级至受支持的替代方案。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计