Apache Tiles路径遍历与XXE漏洞分析

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

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。

注意:此漏洞仅影响不再受维护者支持的产品。

参考链接

安全评分

严重程度:高

  • 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
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计