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