CVE-2019-0230 | Apache Struts2Ô¶³Ì´úÂëÖ´Ðзì϶¹«¸æ

°ä²¼¹¦·ò 2020-08-14

0x00 ·ì϶¸ÅÊö


CVE   ID

CVE-2019-0230

ʱ    ¼ä

2020-08-14

Àà   ÐÍ

RCE

µÈ    ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò

Apache Struts 2.0.0-2.5.20


0x01 ·ì϶ÏêÇé


±¦ÔËÀ³¡¤(ÖйúÇø)×îйٷ½ÍøÕ¾


Apache StrutsÊÇÃÀ¹ú°¢ÅÁÆæ£¨Apache£©Èí¼þ»ù½ð»áÕÆ¹ÜÊØ»¤µÄÒ»¸ö¿ªÔ´ÏîÄ¿£¬ÊÇÒ»Ì×ÓÃÓÚ´´½¨ÆóÒµ¼¶Java WebÀûÓõĿªÔ´MVC¿ò¼Ü ¡£

2020Äê8ÔÂ13ÈÕ£¬Apache¹Ù·½°ä²¼²¼¸æ£¬½¨¸´ÁËÒ»¸öApache Struts2Ô¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2019-0230£© ¡£¸Ã·ì϶ԴÓÚStruts 2»á¶ÔijЩ±êÇ©µÄÊôÐÔÖµ½øÐжþ´Î±í°×ʽ½âÎö£¬µ±Ê¹ÓÃ%{...} or ${...}Óï·¨¶Ô±êÇ©ÊôÐÔ½øÐÐÇ¿Ôì½âÎöµÄÇé¿öÏ£¬OGNL±í°×ʽÖÐÒýÓÃδ¾­ÑéÖ¤µÄÓû§ÊäÈ룬ͨ¹ý»ú¹Ø¶ñÒâµÄOGNL±í°×ʽ£¬µ¼ÖÂÔ¶³Ì´úÂëÖ´ÐÐ ¡£


0x02 ´ëÖý¨Òé


Apache¹Ù·½ÒѾ­°ä²¼Ð°汾£¬ÇëÉý¼¶µ½Struts 2.5.22»ò¸ü¸ß°æ±¾£¬ÏÂÔØµØÖ·£º

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.22

һʱ´ëÊ©£º

1. ½«ÊäÈë²ÎÊýµÄÖµ³ÁзÖÅä¸øÄ³Ð©StrutsµÄ±êÇ©ÊôÐÔʱ£¬Ê¼ÖÕ¶ÔÆä½øÐÐÑéÖ¤£»

2. ³ý·ÇÓÐÓÐЧµÄÓÃÀý£¬²»È»²»ÒªÔÚÖµÒÔ±íµÄ±êÇ©ÊôÐÔÖÐʹÓã¥{...}»ò$ {...}Óï·¨ÒýÓÿÉÅú¸ÄµÄÊäÈ룬²Î¿¼Á´½Ó£º

https://struts.apache.org/security/#use-struts-tags-instead-of-raw-el-expressions

3. ¿ªÆôONGL±í°×ʽעÈë±£»¤£¬²Î¿¼Á´½Ó£º

https://struts.apache.org/security/#proactively-protect-from-ognl-expression-injections-attacks-if-easily-applicable



0x03 ÓйØÐÂÎÅ


0x04 ²Î¿¼Á´½Ó


https://cwiki.apache.org/confluence/display/WW/S2-059


0x05 ¹¦·òÏß


2020-08-13 Apache¹Ù·½°ä²¼²¼¸æ

2020-08-14 VSRC°ä²¼·ì϶¹«¸æ


±¦ÔËÀ³¡¤(ÖйúÇø)×îйٷ½ÍøÕ¾