Struts2-046漏洞来袭,Struts2 S2-045漏洞你补了吗?

发布时间:2017-04-05 行业动态 浏览: 482


新漏洞的刚被发现发布时,对很多企业网络来说可能是最危险的时刻,应对不及时造成的危害可能是巨大的,特别是像前不久Struts2 S2-045这样的会搞死人的漏洞,显然黑客对他们的关注度比很多企业的安管人员要高的多。就在Struts2 S2-045过去不久Struts2-046又来了!又来了!又来了!

漏洞概要

基于Jakarta Multipart解析器执行文件上传时可能的RCE(类似于S2-045)

导致问题

可执行具有恶意Content-Disposition 值或具有不正确Content-Length 报头的RCE攻击。如果Content-Dispostion / Content-Length 值无效,则抛出异常,然后用于向用户显示错误消息。这是针对S2-045(CVE-2017-5638)中描述的相同漏洞的不同向量。

如何破解

如果您使用基于Jakarta的文件上传Multipart解析器,请升级到Apache Struts 2.3.32或2.5.10.1版。

后期兼容性

预期不会有向后不兼容问题。

解决方法

您可以切换到不同的执行多部分解析器。我们已经准备了两个插件,可以作为一个插件解决方案,请在这里找到他们。您可以在运行Apache Struts 2.3.8 - 2.5.5(在使用默认的雅加达多部分解析器的情况下)或Apache Struts 2.3.20 - 2.5.5(使用备用的jakarta-stream多部分解析器)。另一个选择是从堆栈中删除  文件上传拦截器,只需定义自己的自定义堆栈并将其设置为默认值 - 请阅读  我们如何配置一个Interceptor用于每个Action。这将只适用于Struts 2.5.8 - 2.5.10

<interceptors>
    <interceptor-stack name="defaultWithoutUpload">
        <interceptor-ref name="exception"/>
        <interceptor-ref name="alias"/>
        <interceptor-ref name="servletConfig"/>
        <interceptor-ref name="i18n"/>
        <interceptor-ref name="prepare"/>
        <interceptor-ref name="chain"/>
        <interceptor-ref name="scopedModelDriven"/>
        <interceptor-ref name="modelDriven"/>
        <interceptor-ref name="checkbox"/>
        <interceptor-ref name="datetime"/>
        <interceptor-ref name="multiselect"/>
        <interceptor-ref name="staticParams"/>
        <interceptor-ref name="actionMappingParams"/>
        <interceptor-ref name="params"/>
        <interceptor-ref name="conversionError"/>
        <interceptor-ref name="validation">
            <param name="excludeMethods">input,back,cancel,browse</param>
        </interceptor-ref>
        <interceptor-ref name="workflow">
            <param name="excludeMethods">input,back,cancel,browse</param>
        </interceptor-ref>
        <interceptor-ref name="debugging"/>
    </interceptor-stack>
</interceptors>
<default-interceptor-ref name="defaultWithoutUpload"/>

特别提醒

Struts 2-045漏洞与Struts2-046漏洞属于一个漏洞点的两种不同攻击方式,Struts 2-045是远程向问题服务器执行恶意代码,导致服务器主动下载脚本并成为肉鸡实施SYN Flood攻击,导致互联网访问出现严重性能下降。Struts2-046是需要借助操作者上传文件执行恶意攻击。

安全动态