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


¾©¹«Íø°²±¸11010802024551ºÅ