Spring MVC ·´ÉäÐÍÎļþÏÂÔØ·ì϶·çÏÕ¹«¸æ

°ä²¼¹¦·ò 2020-02-04

·ì϶±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2020-5398£¬ £¬£¬£¬£¬£¬Î£ÏÕ¼¶±ð£º¸ßΣ£¬ £¬£¬£¬£¬£¬CVSS·ÖÖµ£º7.5


Ó°Ïì°æ±¾


Spring Framework£º


5.2.0 to 5.2.2

5.1.0 to 5.1.12

5.0.0 to 5.0.15


·ì϶¸ÅÊö


Pivotal Software Spring FrameworkÊÇÃÀ¹úPivotal Software¹«Ë¾µÄÒ»Ì׿ªÔ´µÄJava¡¢JavaEEÀûÓ÷¨Ê½¿ò¼Ü¡£¡£¡£¡£¡£¡£¡£ ¡£¸Ã¿ò¼Ü¿ÉÔ®ÊÖ¿ª·¢ÈËÔ±¹¹½¨¸ßÖÊÁ¿µÄÀûÓᣡ£¡£¡£¡£¡£¡£ ¡£


½üÈÕ£¬ £¬£¬£¬£¬£¬Pivotal Software£¨SpringϵÁУ©¹Ù·½°ä²¼ Spring Framework ´æÔÚ RFD£¨·´ÉäÐÍÎļþÏÂÔØ·ì϶£©µÄ·ì϶»ã±¨£¬ £¬£¬£¬£¬£¬´Ë·ì϶Ϊ¹¥»÷¿Í»§¶ËµÄ·ì϶£¬ £¬£¬£¬£¬£¬¹Ù·½½«·ì϶ÑϳÁˮƽÆÀΪ¸ß¡£¡£¡£¡£¡£¡£¡£ ¡£»ã±¨Ö¸³ö£¬ £¬£¬£¬£¬£¬µ±ÏìÓ¦ÖÐÉèÖÃÁË¡°Content-Disposition¡±Í·ÇÒfilenameÊôÐÔÊÇÓû§¿É¿ØÊ±ÈÝÒ×Êܵ½RFD¹¥»÷¡£¡£¡£¡£¡£¡£¡£ ¡£¹¥»÷Ó¦Âú×ãÒÔÏÂËùÓÐǰÌá²Å¿É³É¹¦£º


1¡¢ÏìÓ¦headerÊÇͨ¹ýorg.springframework.http.ContentDisposition½øÐÐÔö³¤µÄ


2¡¢ÎļþÃûÊÇͨ¹ýÒÔÏ·½Ê½Ö®Ò»ÉèÖõģº


ContentDisposition.Builder#filename(String)

ContentDisposition.Builder#filename(String, US_ASCII)


3¡¢filenameµÄÖ·´×ÔÓû§ÌṩµÄÊäÈë


4¡¢ÀûÓ÷¨Ê½Î´¶Ï¸ùÓû§ÌṩµÄÊäÈë


5¡¢¹¥»÷ÕßÒѽ«ÏÂÔØµÄÏìÓ¦ÄÚÈÝÖÐ×¢Èë¶ñÒâºÅÁî


¹¥»÷Õß¿ÉÀûÓÃRFD·ì϶£¬ £¬£¬£¬£¬£¬½áºÏÉ繤µÈ·½Ê½£¬ £¬£¬£¬£¬£¬ÈÃÓû§ÏÂÔØÒ»¸ö¶ñÒâÎļþ²¢Ö´ÐУ¬ £¬£¬£¬£¬£¬´Ó¶ø·çÏÕÓû§µÄÖն˰²È«¡£¡£¡£¡£¡£¡£¡£ ¡£


·ì϶ÑéÖ¤


ÔÝÎÞPOC/EXP¡£¡£¡£¡£¡£¡£¡£ ¡£


½¨¸´½¨Òé


Ŀǰ³§ÉÌÒѰ䲼Éý¼¶²¹¶¡ÒÔ½¨¸´·ì϶£¬ £¬£¬£¬£¬£¬ÇëÊÜÓ°ÏìµÄÓû§Éý¼¶ÖÁ Spring Framework 5.2.3£¬ £¬£¬£¬£¬£¬5.1.13 »ò 5.0.16 °æ±¾£ºhttps://github.com/spring-projects/spring-framework¡£¡£¡£¡£¡£¡£¡£ ¡£


»òÕßѡȡÕýÈ·ÅäÖãº


1¡¢ÀûÓ÷¨Ê½Î´ÉèÖá° Content-Disposition¡±ÏìÓ¦header¡£¡£¡£¡£¡£¡£¡£ ¡£


2¡¢ÏìÓ¦header²»ÊÇͨ¹ýorg.springframework.http.ContentDisposition½øÐÐÔö³¤µÄ


3¡¢ÎļþÃûÊÇͨ¹ýÒÔÏ·½Ê½Ö®Ò»ÉèÖõģº


ContentDisposition.Builder#filename(String, UTF_8)

ContentDisposition.Builder#filename(String, ISO_8859_1)


4¡¢filenameµÄÖµ²»ÊÇÀ´×ÔÓû§ÌṩµÄÊäÈë


5¡¢filenameÀ´×ÔÓû§ÌṩµÄÊäÈ룬 £¬£¬£¬£¬£¬µ«ÓÉÀûÓ÷¨Ê½¶Ï¸ù¡£¡£¡£¡£¡£¡£¡£ ¡£


²Î¿¼Á´½Ó


https://pivotal.io/security/cve-2020-5398