最新消息:关注人工智能 AI赋能新媒体运营

Java Web应用框架Apache Struts存在XXE漏洞,可导致数据泄露、拒绝服务或服务器端请求伪造攻击

科技资讯 admin 浏览

Java Web应用框架Apache Struts项目发布安全公告,指出其XWork组件在解析XML配置文件时存在XML外部实体(XXE)注入风险,最严重可能导致敏感信息泄露、拒绝服务(DoS),或被用于服务器端请求伪造(SSRF)。该漏洞编号CVE-2025-68493为重要等级,建议用户至少升级至Struts 6.1.1以完成修复。

该漏洞问题在于XWork组件解析XML配置时的验证不足,当攻击者能够诱使系统解析包含外部实体声明的恶意XML内容时,即可触发XXE,进而导致信息泄露、DoS或SSRF。当允许外部实体解析时,攻击者可能诱导解析器读取服务器端可访问的本地资源,例如配置文件或证书相关文件,并通过响应内容、异常信息或其他可观测输出间接获取内容。

DoS风险主要来自外部实体展开造成的资源消耗,可能导致CPU使用率飙升、内存耗尽或线程被占满,使服务性能显著下降甚至无法响应。当环境允许对外连接时,外部实体也可能被用来向内部网络或受限端点发起请求,形成SSRF,进一步协助攻击者探测内部服务或读取不应被外部访问的资源。

受影响版本包括Struts 6.0.0至6.1.0,此外也包含已停止维护的旧分支Struts 2.0.0至2.3.37,以及2.5.0至2.5.33。也就是说,如果组织仍使用Struts 2旧版本,除本次漏洞风险外,后续也较难从上游获得完整安全更新与修复。

除了官方Struts Wiki公告该漏洞信息外,Struts安全团队成员Lukasz Lenart也通过oss-security邮件列表发布通知,并再次建议升级至6.1.1。邮件同时以Maven坐标补充受影响的XWork组件范围,供用户在盘点依赖项时方便对照。

官方提到,此次变更具有向后兼容性,对多数使用场景而言,升级是最直接的风险缓解方式。当用户短期内无法升级时,公告另提供通过调整XML解析器行为来降低XXE风险的替代方案,例如采用自定义的SAX解析器工厂,或通过JVM级别禁用外部实体访问。用户可在测试环境中验证对现有功能的影响后,再部署至生产环境。