Struts2 REST²å¼þÎó²î´¦Öóͷ£ÊÖ²á
2017-12-05
Îó²î¸ÅÊö
±±¾©Ê±¼ä2017Äê12ÔÂ1ÈÕÏÂÖ磬Struts¹Ù·½¹ûÕæÁËREST ²å¼þµÄÎó²îS2-054£¨CVE-2017-15707£©ºÍS2-055£¨CVE-2017-7525£©¡£
S2-054£º¸ÃÎó²îÔ´ÓÚREST²å¼þÒýÓõÄÒ»¸ö¹ýʱµÄJSON-lib¿â£¬µ±ÇëÇóÖаüÀ¨ÓÐÌØÖÆµÄJSON payload£¬·þÎñÆ÷¶Ëͨ¹ýJSON-lib¶ÔÊý¾ÝÆÊÎöʱ£¬¿ÉÔì³É¾Ü¾ø·þÎñ¹¥»÷¡£
S2-055£ºÓÉÓÚStruts2 ¿ò¼ÜÒýÓõı£´æ·´ÐòÁл¯Îó²îµÄJackson×é¼þ£¬¹¥»÷Õß¿ÉÔÚÌá½»µÄjsonÊý¾ÝÖÐǶÈë¶ñÒâ´úÂ룬·þÎñÆ÷¶Ëͨ¹ýJackson×é¼þ¶ÔjsonÊý¾ÝÆÊÎöʱ£¬»áµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£
ÏêÇéÇë²Î¿¼ÈçÏÂÁ´½Ó£º
https://cwiki.apache.org/confluence/display/WW/S2-054
https://cwiki.apache.org/confluence/display/WW/s2-055
Ó°Ïì¹æÄ£
ÊÜÓ°ÏìµÄ°æ±¾
-Struts 2.5 ¨C Struts 2.5.14
²»ÊÜÓ°ÏìµÄ°æ±¾
-Struts 2.5.14.1
Îó²î¼ì²â
ÊÖ¹¤ÅŲé
S2-054£º
ÔÚÏîÄ¿ÖвéÕÒÊÇ·ñʹÓÃjson-lib-2.4-jdk15.jar£¬ÈôÊÇʹÓÃÁ˸Ãjar°ü£¬ËµÃ÷±£´æÎ£º¦¡£
S2-055£º
jackson-databind ×é¼þ±»RedHat¹Ù·½Í¨¸æ±£´æ·´ÐòÁл¯Îó²î£¨CVE-2017-7525£©£¬Ïà¹ØÐÅÏ¢¿Æ²Î¿¼https://access.redhat.com/security/cve/CVE-2017-7525£¬Struts 2.5x°æ±¾ÖÐÒýÓÃÁ˱£´æÎó²îµÄjson-databind×é¼þ£¬¿Éµ¼ÖÂδÊÚȨÓû§¿ÉÒÔÖ´ÐÐí§Òâ´úÂ룬
¿ÉÔÚÏîÄ¿ÖÐÕÒµ½ÒÔÏÂjacksonÏà¹ØµÄjar°üÎļþ£¬ÅжÏÒýÓõÄ×é¼þ°æ±¾ÊÇ·ñÊÜÓ°Ï죬
|
jackson-annotations jackson-core jackson-databind |
ÈôÊÇÉÏÊöjar°ü°æ±¾µÍÓÚ½ØÍ¼ËùʾµÄ2.9.2°æ±¾£¬Ôò¸Ãϵͳ±£´æÔ¶³Ì´úÂëÖ´ÐеÄΣº¦¡£
·À»¤¼Æ»®
Éý¼¶Struts2¿ò¼Ü
1. Éý¼¶Struts2¿ò¼Ü¿ÉÓÐÓ÷À»¤S2-054ºÍS2-055Îó²î¡£µÇ¼µ½¹ÙÍøÏÂÔØÒ³Ãæ£¬ÕÒµ½Struts 2.5.14.1£¬»á¼ûÅþÁ¬ÈçÏ£º
http://struts.apache.org/download.cgi#struts2514.1
2. µã»÷ÏÂÔØÒÀÀµ°üstruts-2.5.14.1-lib.zip£¬½âѹºó½øÈëlibĿ¼¡£
3. ½øÈëwebÓ¦ÓõÄÒÀÀµ°üĿ¼£¨webÓ¦ÓÃÃû³ÆWEB-INFlib£©£¬²»Ó°ÏìÓªÒµµÄÌõ¼þÏ£¬ÔÚstruts 2.5.14.1µÄlibĿ¼ÖÐÕÒµ½¶ÔÓ¦µÄjar°ü¾ÙÐÐÌæ»»¡£
ÔÝʱ½â¾ö¼Æ»®
ÈôÄúÓÉÓÚһЩԵ¹ÊÔÓÉÔÝʱ²»¿ÉÉý¼¶Struts 2ÕûÌå¿ò¼Ü£¬¿É²Î¿¼Èçϼƻ®£¬¶ÔS2-054ºÍS2-055Îó²î¾ÙÐÐÔÝʱ·À»¤¡£
²Î¿¼¹Ù·½µÄ½¨Ò飬Õë¶ÔS2-054Îó²î£¬Ê¹ÓÃJackson¿ò¼Ü×÷ΪJSON ContentTypeHandlerÀ´Ì滻ĬÈϵÄJSON-lib£¬¿É¶Ô¸ÃÎó²î¾ÙÐÐÓÐÓ÷À»¤¡£¿ÉÊÇÓÉÓÚJackson±£´æS2-055·´ÐòÁл¯Îó²î£¬Òò´ËÔÚÌæ»»JSON-libºó£¬»¹Ðè¸üÐÂJackson°æ±¾¡£Ïêϸ²Ù×÷ÈçÏ£º
1. ʹÓÃJacksonÌæ»»JSON-lib£º
1. ÔÚÏîÄ¿ÖÐÌí¼ÓJacksonÒÀÀµ£¬·¿ªpom.xmlÎļþ£¬ÔÚ¡°
|
|
ÆäÖÐ2.9.2Ϊ×îеÄJackson°æ±¾£¬¸Ã°æ±¾ÐÞ¸´ÁËS2-055Îó²î¡£
2. ÉèÖÃJackson Content HandlerΪĬÈÏContent Handler£¬²Î¿¼ÏÂÃæµÄÓï¾ä£¬ÔÚstruts.xmlÕÒµ½ÏìÓ¦µÄÉèÖò¢¾ÙÐÐÐ޸ģº
|
|
²Î¿¼Á´½ÓÈçÏ£º
http://struts.apache.org/plugins/rest/#use-jackson-framework-as-json-contenttypehancont
2. ¸üÐÂJackson£º
1. µÇ¼µ½¹ÙÍøµÄÏÂÔØÒ³Ãæ£¬ÕÒµ½Struts 2.5.14.1£¬»á¼ûÅþÁ¬ÈçÏ£º
http://struts.apache.org/download.cgi#struts2514.1
2. µã»÷ÏÂÔØÒÀÀµ°ü£ºstruts-2.5.14.1-lib.zip
3. ½«ÏÂÔØµÄÒÀÀµ°ü½âѹºó£¬ÕÒµ½ÒÔÏÂjar°üºó£¬Ìæ»»µ½ÏîÄ¿ÖС£
|
jackson-annotations-2.9.0.jar jackson-core-2.9.2.jar jackson-databind-2.9.2.jar |
ÒÔStruts2 2.5.24ΪÀý£¬ÇëÌæ»»ÒÔÏÂjar°ü¡£
|
jackson-annotations-2.8.0.jar -- jackson-annotations-2.9.0.jar jackson-core-2.8.2.jar -- jackson-core-2.9.2.jar jackson-databind-2.8.2.jar -- jackson-databind-2.9.2.jar |
Éù Ã÷
±¾Ç徲ͨ¸æ½öÓÃÀ´ÐÎò¿ÉÄܱ£´æµÄÇå¾²ÎÊÌ⣬¾ÅÓÎÀÏ¸ç¿Æ¼¼²»Îª´ËÇ徲ͨ¸æÌṩÈκΰü¹Ü»òÔÊÐí¡£ÓÉÓÚÈö²¥¡¢Ê¹ÓôËÇ徲ͨ¸æËùÌṩµÄÐÅÏ¢¶øÔì³ÉµÄÈκÎÖ±½Ó»òÕß¼ä½ÓµÄЧ¹û¼°Ëðʧ£¬¾ùÓÉʹÓÃÕß×Ô¼ºÈÏÕæ£¬¾ÅÓÎÀÏ¸ç¿Æ¼¼ÒÔ¼°Ç徲ͨ¸æ×÷Õß²»Îª´Ë¼ç¸ºÈκÎÔðÈΡ£
¾ÅÓÎÀÏ¸ç¿Æ¼¼ÓµÓжԴËÇ徲ͨ¸æµÄÐÞ¸ÄÏ¢ÕùÊÍȨ¡£ÈçÓû×ªÔØ»òÈö²¥´ËÇ徲ͨ¸æ£¬±ØÐè°ü¹Ü´ËÇ徲ͨ¸æµÄÍêÕûÐÔ£¬°üÀ¨°æÈ¨ÉùÃ÷µÈËùÓÐÄÚÈÝ¡£Î´¾¾ÅÓÎÀÏ¸ç¿Æ¼¼ÔÊÐí£¬²»µÃí§ÒâÐ޸ĻòÕßÔö¼õ´ËÇ徲ͨ¸æÄÚÈÝ£¬²»µÃÒÔÈκη½·¨½«ÆäÓÃÓÚÉÌҵĿµÄ¡£

¾ÅÓÎÀϸçÔÆ





