严重 Apache Struts2 2.0.0~2.3.1.1 远程命令执行漏洞(S2-009)

CVE编号

CVE-2011-3923

利用情况

EXP 已公开

补丁情况

官方补丁

披露时间

2012-01-20
该漏洞EXP已公开传播,漏洞利用成本极低,建议您立即关注并修复。
漏洞描述
Apache Struts是一款建立Java web应用程序的开放源代码架构。漏洞允许恶意用户绕过内置在ParametersInterceptor中的所有保护(正则表达式模式,拒绝方法调用),可在任何输出字符串注入恶意表达式作进一步求值。ParametersInterceptor中正则表达式把top['foo'](0)作为合法表达式,而OGNL作为(top['foo'])(0)处理,把'foo' action参数值作为OGNL表达式求值。这可导致恶意用户把任意OGNL语句设置在action输出的任意字符串变量中,并以OGNL表示求值,由于OGNL语句在HTTP参数值中,攻击者可以使用黑名单字符如#禁用方法的执行并执行任意方法,绕过ParametersInterceptor和OGNL库保护。

解决建议
Apache Software Foundation Struts 2.3.1.2已经修复此漏洞,建议用户下载使用:http://struts.apache.org
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 apache struts * From
(including)
2.0.0
Up to
(excluding)
2.3.1.2
运行在以下环境
应用 redhat jboss_enterprise_web_server 1.0.0 -
阿里云评分
9.4
  • 攻击路径
    远程
  • 攻击复杂度
    容易
  • 权限要求
    无需权限
  • 影响范围
    全局影响
  • EXP成熟度
    EXP 已公开
  • 补丁情况
    官方补丁
  • 数据保密性
    数据泄露
  • 数据完整性
    传输被破坏
  • 服务器危害
    服务器失陷
  • 全网数量
    N/A
CWE-ID 漏洞类型
CWE-732 关键资源的不正确权限授予
阿里云安全产品覆盖情况