¡¾Ç徲ͨ¸æ¡¿Struts2 S2-061 Ô¶³Ì´úÂëÖ´ÐÐÎó²î (CVE-2020-17530)
2020-12-08
×ÛÊö
12ÔÂ8ÈÕ£¬Struts¹Ù·½Ðû²¼Ç徲ͨ¸æ£¬Ðû²¼ÁËÒ»¸öDZÔÚµÄÔ¶³Ì´úÂëÖ´ÐÐÎó²îS2-061£¨CVE-2020-17530£©¡£
Îó²îÔµÓÚ¶ÔÊäÈëÑé֤ȱ·¦£¬µ¼ÖÂÔÚÅÌËãÔʼÓû§ÊäÈëÊ±Ç¿ÖÆ¾ÙÐÐÁ½´ÎObject Graph Navigation Library£¨OGNL£©ÅÌËã¡£
µ±ÔÚStruts±êÇ©ÊôÐÔÖÐÇ¿ÖÆÊ¹ÓÃOGNL±í´ïʽ²¢¿É±»ÍⲿÊäÈëÐÞ¸Äʱ£¬¹¥»÷Õ߿ɽṹ¶ñÒâµÄOGNL±í´ïʽ´¥·¢Îó²î¡£
Îó²îÒÑStruts 2.5.26°æ±¾ÖÐÐÞ¸´£¬½¨ÒéÊÜÓ°ÏìÓû§¾¡¿ìÉý¼¶¾ÙÐзÀ»¤¡£
¹Ù·½Í¨¸æ£º
https://cwiki.apache.org/confluence/display/WW/S2-061
ÊÜÓ°Ïì²úÆ·°æ±¾
Struts 2.0.0 - Struts 2.5.25
²»ÊÜÓ°Ïì°æ±¾
Struts version >= Struts 2.5.26
½â¾ö¼Æ»®
Struts¹Ù·½ÒÑÐû²¼Ð°汾ÐÞ¸´ÁËÉÏÊöÎó²î£¬½¨ÒéÓû§¾¡¿ìÉý¼¶¸üоÙÐзÀ»¤¡£
Èô²»Àû±ãÉý¼¶µÄÓû§£¬ÖÁÉÙÒ²Ó¦½ÓÄÉÒÔϲ½·¥½µµÍΣº¦£º×èÖ¹¶Ô²»ÊÜÐÅÍеÄÓû§ÊäÈëʹÓÃÇ¿ÖÆOGNLÆÀ¹À¡£
¹Ù·½Çå¾²Ö¸ÄÏÁ´½Ó£º
https://struts.apache.org/security/#do-not-use-incoming-untrusted-user-input-in-forced-expression-evaluation
Éù Ã÷
±¾Ç徲ͨ¸æ½öÓÃÀ´ÐÎò¿ÉÄܱ£´æµÄÇå¾²ÎÊÌ⣬AG¹«Ë¾¿Æ¼¼²»Îª´ËÇ徲ͨ¸æÌṩÈκΰü¹Ü»òÔÊÐí¡£ÓÉÓÚÈö²¥¡¢Ê¹ÓôËÇ徲ͨ¸æËùÌṩµÄÐÅÏ¢¶øÔì³ÉµÄÈκÎÖ±½Ó»òÕß¼ä½ÓµÄЧ¹û¼°Ëðʧ£¬¾ùÓÉʹÓÃÕß×Ô¼ºÈÏÕæ£¬AG¹«Ë¾¿Æ¼¼ÒÔ¼°Ç徲ͨ¸æ×÷Õß²»Îª´Ë¼ç¸ºÈκÎÔðÈΡ£AG¹«Ë¾¿Æ¼¼ÓµÓжԴËÇ徲ͨ¸æµÄÐÞ¸ÄÏ¢ÕùÊÍȨ¡£ÈçÓû×ªÔØ»òÈö²¥´ËÇ徲ͨ¸æ£¬±ØÐè°ü¹Ü´ËÇ徲ͨ¸æµÄÍêÕûÐÔ£¬°üÀ¨°æÈ¨ÉùÃ÷µÈËùÓÐÄÚÈÝ¡£Î´¾AG¹«Ë¾¿Æ¼¼ÔÊÐí£¬²»µÃí§ÒâÐ޸ĻòÕßÔö¼õ´ËÇ徲ͨ¸æÄÚÈÝ£¬²»µÃÒÔÈκη½·¨½«ÆäÓÃÓÚÉÌҵĿµÄ¡£
¹ØÓÚAG¹«Ë¾¿Æ¼¼
AG¹«Ë¾£¨¼ò³ÆAG¹«Ë¾¿Æ¼¼£©½¨ÉèÓÚ2000Äê4Ô£¬×ܲ¿Î»ÓÚ±±¾©¡£ÔÚº£ÄÚÍâÉèÓÐ30¶à¸ö·ÖÖ§»ú¹¹£¬ÎªÕþ¸®¡¢ÔËÓªÉÌ¡¢½ðÈÚ¡¢ÄÜÔ´¡¢»¥ÁªÍøÒÔ¼°½ÌÓý¡¢Ò½ÁƵÈÐÐÒµÓû§£¬Ìṩ¾ßÓн¹µã¾ºÕùÁ¦µÄÇå¾²²úÆ·¼°½â¾ö¼Æ»®£¬×ÊÖú¿Í»§ÊµÏÖÓªÒµµÄÇ徲˳³©ÔËÐС£
»ùÓÚ¶àÄêµÄÇå¾²¹¥·ÀÑо¿£¬AG¹«Ë¾¿Æ¼¼ÔÚÍøÂç¼°ÖÕ¶ËÇå¾²¡¢»¥ÁªÍø»ù´¡Çå¾²¡¢ºÏ¹æ¼°Çå¾²ÖÎÀíµÈÁìÓò£¬Îª¿Í»§ÌṩÈëÇÖ¼ì²â/·À»¤¡¢¿¹¾Ü¾ø·þÎñ¹¥»÷¡¢Ô¶³ÌÇå¾²ÆÀ¹ÀÒÔ¼°WebÇå¾²·À»¤µÈ²úÆ·ÒÔ¼°×¨ÒµÇå¾²·þÎñ¡£
AG¹«Ë¾ÓÚ2014Äê1ÔÂ29ÈÕÆðÔÚÉîÛÚ֤ȯÉúÒâËù´´Òµ°åÉÏÊУ¬¹ÉƱ¼ò³Æ£ºAG¹«Ë¾¿Æ¼¼£¬¹ÉƱ´úÂ룺300369¡£

AG¹«Ë¾ÔÆ







