CVE-2020-13942 | Apache UnomiÔ¶³Ì´úÂëÖ´ÐÐÎó²îͨ¸æ
Ðû²¼Ê±¼ä 2020-11-190x00 Îó²î¸ÅÊö
CNVD ID | CVE-2020-13942 | ʱ ¼ä | 2020-11-19 |
Àà ÐÍ | RCE | µÈ ¼¶ | ÑÏÖØ |
Ô¶³ÌʹÓà | ÊÇ | Ó°Ïì¹æÄ£ | Apache Unomi < 1.5.2 |
0x01 Îó²îÏêÇé

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Ŀ¼Öн¨ÉèÒ»¸ö¿ÕÎļþ¡£¡£¡£¡£¡£

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

ÒÔÉÏÁ½ÖÖ·½·¨Äܹ»Èƹý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/



¾©¹«Íø°²±¸11010802024551ºÅ