跳到主要内容

超危

Apache Struts2远程命令执行漏洞(S2-048)

2017-07-07 00:00:00 公开 ,2026-02-19 21:24:40 更新

  • 关键漏洞
  • CISA KEV
  • 勒索软件漏洞
  • 远程
  • 公开PoC
  • 无需认证
  • CWE Top 25 (2023)
  • 开源组件漏洞
  • 2024两高一弱互联网漏洞
  • CWE Top 25 (2024)
  • 2025两高一弱漏洞
CWEs:
CWE-20 (Improper Input Validation)
SSVC:
可利用状态:已被积极利用攻击自动化:是技术影响评估:全部 2025-02-07 05:07:10

风险信息

CVSS v2 向量
AV:N/AC:L/Au:N/C:P/I:P/A:P
CVSS v2 风险值
7.5
CVSS v3 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3 风险值
9.8
CVSS v3.1 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 风险值
9.8

详细信息

漏洞类型
输入验证错误
漏洞描述
Apache Struts是美国阿帕奇(Apache)软件基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架,主要提供两个版本框架产品,Struts 1和Struts 2。Apache Struts2 2.3.x版本中存在S2-048远程代码执行漏洞。该漏洞存在Struts2和Struts1一个Showcase插件Action Message类中,攻击者可通过构建不可信的输入实现远程命令攻击。
修复建议
1、不启用struts2-struts1-plugin插件; 2、建议升级到2.5.10.1或更新的版本; 3、开发者通过使用resource keys替代将原始消息直接传递给ActionMessage的方式。 如下所示messages.add(msg,new ActionMessage(struts1.gangsterAdded,gform.getName())); 一定不要使用如下的方式messages.add(msg,new ActionMessage(Gangster +gform.getName() +was added)); 4、更详细信息请参考: http://struts.apache.org/docs/s2-048.html

参考链接