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 ·ì϶ÏêÇé


GA»Æ½ð¼×¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


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°ä²¼·ì϶¹«¸æ


GA»Æ½ð¼×¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾