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ºÅ