CVE-2020-13942 | Apache UnomiÔ¶³Ì´úÂëÖ´Ðзì϶¹«¸æ

°ä²¼¹¦·ò 2020-11-19

0x00 ·ì϶¸ÅÊö

CNVD   ID

CVE-2020-13942

ʱ      ¼ä

2020-11-19

Àà     ÐÍ

RCE

µÈ      ¼¶

ÑϳÁ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò

Apache Unomi < 1.5.2

 

0x01 ·ì϶ÏêÇé

 

image.png

Apache UnomiÊÇÒ»¸öJava¿ªÔ´¿Í»§Êý¾Ýƽ̨£¬£¬£¬£¬£¬£¬Ö¼ÔÚÖÎÀí¿Í»§ºÍ½Ó¼ûÕßµÄÊý¾Ý£¬£¬£¬£¬£¬£¬²¢¸öÐÔ»¯¿Í»§ÂÄÀú ¡£ ¡£¡£¡£¡£

2020Äê11ÔÂ17ÈÕ£¬£¬£¬£¬£¬£¬Apache Unomi±»Åû¶´æÔÚÑϳÁ°²È«·ì϶£¨CVE-2020-13942£©£¬£¬£¬£¬£¬£¬ÆäCVSSÆÀ·ÖΪ10·Ö ¡£ ¡£¡£¡£¡£

ÓÉÓÚApache UnomiÔÊÐíÔ¶³Ì¹¥»÷ÕßʹÓÃÔ̺¬ËÁÒâÀàµÄMVELºÍOGNL±í°×ʽ·¢ËͶñÒâÒªÇ󣬣¬£¬£¬£¬£¬×îÖտɵ¼Ö¹¥»÷ÕßʹÓÃUnomiÀûÓ÷¨Ê½È¨ÏÞÔ¶³ÌÖ´ÐдúÂë ¡£ ¡£¡£¡£¡£

 

·ì϶ϸ½Ú£º

UnomiÒÀÀµÓÚÖîÈçOGNL»òMVELÖ®ÀàµÄ±í°×ʽ˵»°£¨EL£©£¬£¬£¬£¬£¬£¬ÒÔÔÊÐíÓû§Ôì¶©¸´ÔÓ¶øÏêϸµÄ²éÎÊ ¡£ ¡£¡£¡£¡£Æä»ùÓÚELµÄǰÌáÀ´½Ó¼û´æ´¢Êý¾Ý ¡£ ¡£¡£¡£¡£

ÔÚ1.5.1֮ǰµÄ°æ±¾ÖУ¬£¬£¬£¬£¬£¬¹¥»÷Õßͨ¹ý×¢ÈëÄܹ»¶ÔUnomi½øÐÐRCEµÄ¹¥»÷ ¡£ ¡£¡£¡£¡£¹¥»÷Õß¿ÉÄÜͨ¹ý·¢Ë͵¥¸öÒªÇóÔÚUnomi·þÎñÆ÷ÉÏÖ´ÐÐËÁÒâ´úÂëºÍOSºÅÁî ¡£ ¡£¡£¡£¡£´Ë·ì϶CVE IDΪCVE-2020-11975£¬£¬£¬£¬£¬£¬Ä¿Ç°¹ÌÈ»ÒѾ­½¨¸´£¬£¬£¬£¬£¬£¬µ«½¨¸´²¢²»³ä·Ö£¬£¬£¬£¬£¬£¬¿É±»µÈÏÐÈÆ¹ý ¡£ ¡£¡£¡£¡£

CVE-2020-11975µÄ²¹¶¡ÖÐÒýÈëÁËSecureFilteringClassLoaderº¯Êý£¬£¬£¬£¬£¬£¬¸Ãº¯ÊýÒÀÀµallowlistºÍblocklist²é³­±í°×ʽÖÐʹÓõÄÀà ¡£ ¡£¡£¡£¡£SecureFilteringClassLoaderÒÀÀµÕâÑùÒ»¸ö²»ÕýÈ·µÄÈç¹û£ºMVELºÍOGNL±í°×ʽÖеÄÿ¸öÀà¶¼ÊÇʹÓÃClassLoaderÀàµÄloadClass£¨£©²½Öè¼ÓÔØµÄ ¡£ ¡£¡£¡£¡£SecureFilteringClassLoader¸²¸ÇÁËClassLoader loadClass²½Ö裬£¬£¬£¬£¬£¬²¢ÒýÈëÁËallowlistºÍblocklist²é³­ ¡£ ¡£¡£¡£¡£ÊÂʵÉÏ£¬£¬£¬£¬£¬£¬³ýÁËŲÓÃloadClass£¨£©²½Öè±í£¬£¬£¬£¬£¬£¬»¹ÓжàÖÖ¼ÓÔØÀàµÄ²½Ö裬£¬£¬£¬£¬£¬Õâ»áµ¼Ö°²È«Èƹý£¬£¬£¬£¬£¬£¬²¢Ê¹UnomiÔâ·êRCE¹¥»÷ ¡£ ¡£¡£¡£¡£

Unomi 1.5.1ÖУ¬£¬£¬£¬£¬£¬ÔÊÐíÆÀ¹ÀǰÌáʹÓÃMVEL±í°×ʽ£¬£¬£¬£¬£¬£¬¸ÃǰÌáÔ̺¬ËÁÒâÀà ¡£ ¡£¡£¡£¡£ÔÚijЩÇé¿öÏ£¬£¬£¬£¬£¬£¬MVEL±í°×ʽʹÓÃÒÑÊ·ý»¯µÄÀࣨÀýÈçRuntime»òSystem£©£¬£¬£¬£¬£¬£¬¶øÎÞÐèŲÓÃloadClass£¨£© ¡£ ¡£¡£¡£¡£

ÒÔÏÂHTTPÒªÇóµÄǰÌáÊÇ´øÓÐMVEL±í°×ʽµÄ²ÎÊý(script::Runtime r = Runtime.getRuntime(); r.exec(¡±touch /tmp/POC¡±);) ¡£ ¡£¡£¡£¡£Unomi»á½âÎö¸ÃÖµ£¬£¬£¬£¬£¬£¬²¢ÒÔMVEL±í°×ʽµÄ´ó¾ÖÖ´ÐÐscript ::Ö®ºóµÄ´úÂë ¡£ ¡£¡£¡£¡£ÒÔÏÂʾÀýÖеıí°×ʽ»á´´½¨Ò»¸öRuntime¶ÔÏó²¢ÔËÐÓ×° touch¡± OSºÅÁ£¬£¬£¬£¬£¬¸ÃºÅÁî»áÔÚ/tmpĿ¼Öд´½¨Ò»¸ö¿ÕÎļþ ¡£ ¡£¡£¡£¡£

image.png

³ý´ËÖ®±í£¬£¬£¬£¬£¬£¬»¹ÓÐÒ»ÖÖ²½ÖèÄܹ»ÔÚOGNL±í°×ʽÖмÓÔØÀ࣬£¬£¬£¬£¬£¬¶øÎÞÐè´¥·¢loadClass£¨£©Å²Óà ¡£ ¡£¡£¡£¡£ÒÔÏÂHTTPÒªÇó¿ÉÄÜ»ñÈ¡ÔËÐÐʱ²¢Ê¹ÓÃJava Reflections APIÖ´ÐÐOSºÅÁî ¡£ ¡£¡£¡£¡£

image.png

ÒÔÉÏÁ½ÖÖ·½·¨¿ÉÄÜÈÆ¹ý1.5.1ÖÐÒýÈëµÄ°²È«½ÚÔì ¡£ ¡£¡£¡£¡£´Ë±í£¬£¬£¬£¬£¬£¬UnomiÔ̺¬´óÁ¿Êý¾Ý²¢ÓëÆäËüϵͳçÇÃܼ¯³É£¬£¬£¬£¬£¬£¬Òò¶øÍ¨³£Êǹ¥»÷ÕßµÄÃÎÏëÖ¸±ê ¡£ ¡£¡£¡£¡£

 

0x02 ´ëÖý¨Òé

ĿǰApache UnomiÒѾ­°ä²¼ÁË1.5.2¸üа汾 ¡£ ¡£¡£¡£¡£½¨ÒéʵʱÉý¼¶ ¡£ ¡£¡£¡£¡£

»º½â´ëÊ©£º

¾¡Á¿Ô¤·À½«Êý¾Ý·ÅÈë±í°×ʽڹÊÍÆ÷ÖÐ ¡£ ¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

http://unomi.apache.org/download.html

 

0x03 ²Î¿¼Á´½Ó

https://securityboulevard.com/2020/11/apache-unomi-cve-2020-13942-rce-vulnerabilities-discovered/?

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13942

 

0x04 ¹¦·òÏß

2020-11-02  Unomi°ä²¼°²È«¸üÐÂ

2020-11-19  VSRC°ä²¼°²È«¹«¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö³ß¶È¹ÙÍø£ºhttp://www.first.org/cvss/

 

 

 

image.png