runcÈÝÆ÷ÌÓÒÝÎó²îÇ徲ͨ¸æ

Ðû²¼Ê±¼ä 2019-02-13

Îó²î±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2019-5736£¬£¬Î£ÏÕ¼¶±ð£ºÑÏÖØ£¬£¬ CVSS·ÖÖµ£º¹Ù·½Î´ÆÀ¶¨


Ó°Ïì¹æÄ£


ÊÜÓ°Ïì°æ±¾£º 

runC È«°æ±¾

LXC ÒÔ¼° Apache Mesos


Îó²î¸ÅÊö


    runcÊÇÒ»¸öƾ֤OCI(Open Container Initiative)±ê×¼½¨Éè²¢ÔËÐÐÈÝÆ÷µÄCLI tool¡£¡£¡£¡£ÏÖÔÚdockerÒýÇæÄÚ²¿Ò²ÊÇ»ùÓÚrunc¹¹½¨µÄ¡£¡£¡£¡£2019Äê2ÔÂ11ÈÕ£¬£¬Ñо¿Ö°Ô±Í¨¹ýoss-securityÓʼþÁбíÅû¶ÁËruncÈÝÆ÷ÌÓÒÝÎó²îµÄÏêÇ飬£¬Îó²î¿ÉÄÜÓ°Ïì¿í´óÔÆÐ§Àͳ§ÉÌ£¬£¬Î£º¦ÑÏÖØ¡£¡£¡£¡£


    ¸ÃÎó²îÔÊÐí¶ñÒâÈÝÆ÷ÒÔ×îÉÙµÄÓû§½»»¥ÁýÕÖËÞÖ÷»úÉϵÄrunCÎļþ£¬£¬´Ó¶øÔÚËÞÖ÷»úÉÏÒÔ root ȨÏÞÖ´ÐжñÒâ´úÂë¡£¡£¡£¡£µ±Öª×ãÒÔÏÂÌõ¼þʱ£¬£¬¹¥»÷ÕßÓпÉÄÜÒÔrootȨÏÞÖ´ÐÐí§Òâ´úÂ룺


1. ʹÓù¥»÷Õß¿ØÖƵľµÏñ½¨ÉèÐÂÈÝÆ÷£¬£¬»òÕß¹¥»÷Õß¾ßÓÐijһdockerÈÝÆ÷µÄrootȨÏÞ


2. ¹¥»÷Õß¿ÉÒÔʹÓÃdocker exec·½·¨½øÈëÉÏÊöÈÝÆ÷


    ĬÈϵÄAppArmorÕ½ÂÔ²»¿É×èÖ¹¸ÃÎó²î¡£¡£¡£¡£Í¬ÑùÔÚFedoraÉÏ£¬£¬Ä¬ÈϵÄSELinuxÕ½ÂÔÒ²²»¿É×èÖ¹¸ÃÎó²î¡£¡£¡£¡££¨ÓÉÓÚÈÝÆ÷Àú³ÌÊÇÒÔcontainer_runtime_tÔËÐеģ©¡£¡£¡£¡£¿ÉÊÇ¿ÉÒÔͨ¹ý׼ȷʹÓÃÃüÃû¿Õ¼äµÄ·½·¨×èÖ¹´ËÎó²î£¨²»ÈÃËÞÖ÷»úµÄrootÓ³Éäµ½ÈÝÆ÷µÄÃüÃû¿Õ¼äÖУ©¡£¡£¡£¡£


    ÉÏÊöÄÚÈÝÖ»·ºÆðÔÚ Fedora µÄ¡°moby-engine¡±Èí¼þ°üÖС£¡£¡£¡£ÆäËûµÄdockerÈí¼þ°üÒÔ¼° podman²»»áÊܵ½´ËÎó²îµÄÓ°Ïì¡£¡£¡£¡£ÓÉÓÚËûÃǵÄÈÝÆ÷Àú³ÌÊÇÒÔcontainer_tÔËÐеÄ¡£¡£¡£¡£


Îó²îϸ½Ú


¹¥»÷Õß¿ÉÒÔ½«ÈÝÆ÷ÖеÄÄ¿µÄÎļþÌæ»»³ÉÖ¸ÏòruncµÄ×Ô¼ºµÄÎļþÀ´ÓÕÆ­runcÖ´ÐÐ×Ô¼º¡£¡£¡£¡£ºÃ±ÈÄ¿µÄÎļþÊÇ/bin/bash£¬£¬½«ËüÌæ»»³ÉÖ¸¶¨Ú¹ÊÍÆ÷·¾¶Îª#!/proc/self/exeµÄ¿ÉÖ´Ðо籾£¬£¬ÔÚÈÝÆ÷ÖÐÖ´ÐÐ/bin/bashʱ½«Ö´ÐÐ/proc/self/exe£¬£¬ËüÖ¸ÏòhostÉϵÄruncÎļþ¡£¡£¡£¡£È»ºó¹¥»÷Õß¿ÉÒÔ¼ÌÐøÐ´Èë/proc/self/exeÊÔͼÁýÕÖhostÉϵÄruncÎļþ¡£¡£¡£¡£¿ÉÊÇÒ»Ñùƽ³£À´Ëµ²»»áÀֳɣ¬£¬ÓÉÓÚÄں˲»ÔÊÐíÔÚÖ´ÐÐruncʱÁýÕÖËü¡£¡£¡£¡£ÎªÏàʶ¾öÕâ¸öÎÊÌ⣬£¬¹¥»÷Õß¿ÉÒÔʹÓÃO_PATH±ê¼Ç·­¿ª/proc/self/exeµÄÎļþÐÎò·û£¬£¬È»ºóͨ¹ý/proc/self/fd/<nr>ʹÓÃO_WRONLY±ê¼ÇÖØÐ·­¿ªÎļþ£¬£¬²¢ÊµÑéÔÚÒ»¸öÑ­»·ÖдÓÒ»¸öµ¥¶ÀµÄÀú³ÌдÈë¸ÃÎļþ¡£¡£¡£¡£µ±runcÍ˳öʱÁýÕÖ»áÀֳɣ¬£¬ÔÚ´ËÖ®ºó£¬£¬runc¿ÉÒÔÓÃÀ´¹¥»÷ÆäËüÈÝÆ÷»òhost¡£¡£¡£¡£


Îó²îʹÓÃ


Îó²îPOCÒѹûÕæ£ºhttps://github.com/q3k/cve-2019-5736-poc¡£¡£¡£¡£


ÐÞ¸´½¨Òé


¸üРrunC¡¢LXC ÖÁ¹Ù·½Ðû²¼µÄ×îв¹¶¡¡£¡£¡£¡£


²Î¿¼Á´½Ó


https://www.openwall.com/lists/oss-security/2019/02/11/2