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


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