SPRING FRAMEWORK反射型文件下載漏洞(CVE-2020-5421)


一、綜述

近日,VMware Tanzu發布安全公告,公布了一個存在於Spring Framework中的反射型文件下載(Reflected File Download,RFD)漏洞CVE-2020-5421。CVE-2020-5421 可通過jsessionid路徑參數,繞過防御RFD攻擊的保護。先前針對RFD的防護是為應對 CVE-2015-5211 添加的。

攻擊者通過向用戶發送帶有批處理腳本擴展名的URL,使用戶下載並執行文件,從而危害用戶系統。

官方已發布修復了漏洞的新版本。

Spring Framework是 Java 平台的一個開源全棧應用程序框架和控制反轉容器實現,一般被直接稱為 Spring。

二、影響范圍

受影響產品版本

  • Spring Framework 5.2.0 – 5.2.8
  • Spring Framework 5.1.0 – 5.1.17
  • Spring Framework 5.0.0 – 5.0.18
  • Spring Framework 4.3.0 – 4.3.28
  • 以及其他已不受支持的版本

不受影響產品版本

  • Spring Framework 5.2.9
  • Spring Framework 5.1.18
  • Spring Framework 5.0.19
  • Spring Framework 4.3.29

三、解決方案

官方已發布修復了漏洞的新版本,建議相關用戶盡快升級進行防護。

四、項目整改示例

涉及相關jar包:

 

更換為:

 

 涉及配置文件:spring-mvc.xml

<!-- 支持返回json(避免IE在ajax請求時,返回json出現下載 ) -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
            <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>  
                <ref bean="mappingJacksonHttpMessageConverter"/>
            </list>
        </property>
    </bean>
    <bean id="mappingJacksonHttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/plain;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>

更改為:

<!-- 支持返回json(避免IE在ajax請求時,返回json出現下載 ) -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
            <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>  
                <ref bean="mappingJacksonHttpMessageConverter"/>
            </list>
        </property>
    </bean>
    <bean id="mappingJacksonHttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/plain;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>

 

 完畢!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM