pexels-pixabay-158651

漏洞预警:Apache Struts2 组件存在远程代码执行漏洞

时间 :2022-04-15 浏览 : 分类 :威胁情报
在此文件中搜索struts2-core,如果可以搜索到如下关键字,且所使用的版本号在受影响范围内,则可能受该漏洞影响

Apache Struts2 是一个基于 MVC 架构的,用于开发 Java EE 网络应用程序的 Web 框架,它本质上相当于一个Servlet。在 MVC 设计模式中,Apache Struts2 作为控制器来建立模型与视图的数据交互。

一、 漏洞描述

近日发现Apache Struts2 组件存在远程代码执行漏洞的信息,漏洞编号:CVE-2021-31805,漏洞威胁等级:高危。该漏洞是由于 Apache Struts2 对 CVE-2020-17530(S2-061) 的修复不够完整,导致一些标签属性仍然可以执行 OGNL 表达式,攻击者利用该漏洞可以构造恶意数据远程执行任意代码

二、影响范围

Apache Struts2 是当前 Java 企业级 Web 应用开发的主流框架之一,具有简洁、易扩展等优点。其作为底层框架来使用,极大简化了 Web 应用从构建、部署的开发周期,被广泛用于工业界中,使用范围较广。

若基于该框架开发的应用,将用户输入作为 OGNL 表达式来执行,则可能受该漏洞影响。

目前受影响的 Apache Struts2 版本:

2.0.0 <=  Apache Struts2 <= 2.5.29

三、解决方案

版本检测方法1

全盘搜索 struts2-core,如果存在 struts2-core-{version}.jar,且所使用的版本号在受影响范围内:

 

s1 

则用户可能受漏洞影响。

版本检测方法2

如果项目是由 maven 编译的(一般在项目根目录下会有 pom.xml)

s2 

打开 pom.xml 文件,如图:

s3 

在此文件中搜索 struts2-core,如果可以搜索到如下关键字,且所使用的版本号在受影响范围内,则可能受该漏洞影响。

<dependency>  <groupId>org.apache.struts</groupId>  <artifactId>struts2-core</artifactId>  <version>2.5.29</version></dependency>

 

版本升级

官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。版本下载链接如下:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30

 


spacer
spacer
spacer