各学院,机关各部门、各单位:
近期,国家信息安全漏洞共享平台(CNVD)发布了Apache struts2 S2-045远程代码执行漏洞(CNVD-2017-02474,对应CVE-2017-5638,漏洞情况及修复建议详见附件)预警,远程攻击者利用该漏洞可直接取得网站服务器控制权。由该应用较为广泛,且攻击利用代码已经公开,已导致互联网上大规模攻击的出现,值此两会期间,为避免我校遭受类似攻击事件,请各单位仔细排查本单位的信息系统,如果有使用Struts2应用框架,请及时修复。
信息化建设办公室
2017年3月8日
附件:
《关于Apache Struts2存在S2-045远程代码执行漏洞》
一、漏洞情况分析
Struts2是第二代基于Model-View-Controller(MVC)模型的java企业级web应用框架,并成为当时国内外较为流行的容器软件中间件。jakarta是apache组织下的一套Java解决方案的开源软件的名称,包括很多子项目。Struts就是jakarta的紧密关联项目。
基于JakartaMultipart parser的文件上传模块在处理文件上传(multipart)的请求时候对异常信息做了捕获,并对异常信息做了OGNL表达式处理。但在在判断content-type不正确的时候会抛出异常并且带上Content-Type属性值,可通过精心构造附带OGNL表达的URL导致远程代码执行。
二、漏洞影响范围
受漏洞影响的版本为:Struts2.3.5-Struts2.3.31, Struts2.5-Struts2.5.10。
三、漏洞处置建议
Apache Struts官方已在发布的新的版本中修复了该漏洞。建议使用Jakarta Multipartparser模块的用户升级到Apache Struts版本2.3.32或2.5.10.1。
参考链接:
https://cwiki.apache.org/confluence/display/WW/S2-045
http://www.cnvd.org.cn/flaw/show/CNVD-2017-02474