Apache Struts重现严重漏洞,你升级了吗?

共 1173字,需浏览 3分钟

 ·

2022-04-25 08:19

点击关注公众号,Java干货及时送达

文 | 白开水

出品 | OSC开源社区(ID:oschina2013)

Apache Software Foundation 发布了一个安全公告 S2-062,以解决 Struts 2.0.0 到 2.5.29 版本中存在的一个远程代码执行漏洞;攻击者可以利用此漏洞来控制受影响的系统。对此,美国网络安全和基础设施安全局 (CISA) 也发布公告敦促组织查看 Apache 的公告,并尽快升级到最新的 Struts 2 补丁版本。
该漏洞被跟踪为 CVE-2021-31805,是由于 2020 年 CVE-2020-17530 (S2-061) 的不完整修复造成的。也就是说,这一漏洞早在 2020 年就已存在且当时被认为已修复,但事实证明问题并未完全得到解决。
在 2020 年,GitHub 的研究人员 Alvaro Munoz 和 Aeye 安全实验室的 Masato Anzai 报告了 Struts 2 版本 2.0.0 - 2.5.25 在某些情况下存在一个 OGNL 注入漏洞,编号为 CVE-2020-17530,在 CVSS 严重性方面获得了 9.8 分(满分 10 分)。
“如果开发者使用 %{...} 语法进行强制 OGNL 评估,标签的一些属性仍然可以执行双重评估。对不信任的用户输入使用强制 OGNL 评估可能导致远程代码执行和安全性能下降。”
对象图导航语言 (Object-Graph Navigation Language,OGNL) 是一种开源的 Java 表达式语言,简化了 Java 语言中的表达式范围。它被集成在 Struts2 等框架中,作用是对数据进行访问;拥有类型转换、访问对象方法、操作集合对象等功能。
尽管 Apache 在 Struts 2.5.26 中解决了 2020 年所报告的漏洞,但研究人员 Chris McCown 发现,所应用的修复方案并不完整。他向 Apache 报告称,“双重评估”问题仍然可以在 Struts 版本 2.5.26 及更高版本中重现。

作为解决措施,Apache 方面建议开发人员避免基于不受信任的用户输入在标签属性中使用强制 OGNL 评估,和/或升级到 Struts 2.5.30 或更高版本,以检查表达式评估是否不会导致双重评估。并建议遵循安全指南以获得最佳实践。

     

1、Windows新功能太“社死”!教你一键快速禁用
2、发现竞争对手代码中的低级Bug后,我被公司解雇并送上了法庭
3、为什么说技术人一定要有产品思维
4、操作系统联合创始人反目成仇,这个Linux发行版危在旦夕
5、Java8八年不倒、IntelliJ IDEA力压Eclipse

点分享

点收藏

点点赞

点在看

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报