售前咨询
技术支持
渠道合作

修复CVE-2017-9805漏洞的解决方案

近日,信用巨头 Equifax遭遇黑客攻击,1.43 亿用户信息失窃的事件占据了多天的信息安全板块头条。Equifax 称黑客利用了 Web 应用的漏洞访问了某些文件,将矛头指向同一时间爆出安全漏洞的Apache Struts Web 框架,但Apache Struts 项目昨日为此发表声明澄清有关的传言。但Apache Struts Web 框架的漏洞也引起全球开发者的注意。

漏洞介绍

2017年9月5日,Apache Struts 发布最新公告指出 Struts2 中的 REST 插件存在远程代码执行漏洞(CVE-2017-9805),而该漏洞有九年历史,至今才被发现。Struts2 REST插件的XStream组件存在反序列化漏洞,使用带有XStream实例的XStreamHandler进行反序列化操作时,没有任何类型过滤而导致远程代码执行,存在安全隐患,可被远程攻击。目前官方认定漏洞危险等级为【高危】。

漏洞危害

攻击者可以通过构造恶意XML请求在目标服务器上远程执行任意代码。

影响范围

Struts 2.5 – Struts 2.5.12

自 2008 年以来的所有版本 Struts2 都会受到影响

修复建议

升级到Apache Struts版本2.5.13,最好的选择是在不使用时删除Struts REST插件,或仅限于服务器普通页面和JSONs:

<constant name=”struts.action.extension” value=”xhtml,,json” />

补丁下载地址:

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

临时缓解措施

暂无有效的临时缓解措施。最好的方法是在不使用时删除Struts REST插件,或仅限于服务器正常页面和JSON:

<constantname=”struts.action.extension” value=”xhtml,,json” />

向后兼容性

由于对可用的类应用了默认的限制,某些REST操作可能会停止工作。在这种情况下,请调查所引入的新接口,允许对每个操作定义类限制,这些接口包括:

org.apache.struts2.rest.handler.AllowedClasses

org.apache.struts2.rest.handler.AllowedClassNames

org.apache.struts2.rest.handler.XStreamPermissionProvider


代码签名证书是保护开发者的劳动成果,给自己开发的软件签名的证书,保证代码在签名之后不被恶意篡改。用户可通过对代码的数字签名来标识软件来源,辨别软件开发者的真实身份。GDCA的代码签名证书支持多种代码签名,已通过WEBTRUST国际认证。

相关文章