¡¾·ì϶¹«¸æ¡¿runcÈÝÆ÷ÌÓÒÝ·ì϶£¨CVE-2024-21626£©
°ä²¼¹¦·ò 2024-02-02
Ò»¡¢·ì϶¸ÅÊö
·ìϼûû³Æ | runcÈÝÆ÷ÌÓÒÝ·ì϶ | ||
CVE ID | CVE-2024-21626 | ||
·ì϶ÀàÐÍ | ÈÝÆ÷ÌÓÒÝ | ·¢ÏÖ¹¦·ò | 2024-02-01 |
·ì϶ÆÀ·Ö | 8.6 | ·ì϶µÈ¼¶ | ¸ßΣ |
¹¥»÷ÏòÁ¿ | ±¾µØ | ËùÐèȨÏÞ | ÎÞ |
ÀûÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ±ØÒª |
PoC/EXP | δ¹«¿ª | ÔÚÒ°ÀûÓà | δ·¢ÏÖ |
2024Äê2ÔÂ1ÈÕ£¬£¬£¬£¬£¬£¬8827Ì«Ñô¼¯ÍÅVSRC¼à²âµ½»¥ÁªÍøÉÏÅû¶¶à¸öÖ÷ÌâÈÝÆ÷»ù´¡ÉèÊ©×é¼þÖз¢ÏÖÁË4¸ö·ì϶£¨CVE-2024-21626¡¢CVE-2024-23651¡¢CVE-2024-23652 ºÍ CVE-2024-23653£©£¬£¬£¬£¬£¬£¬ÕâЩ·ì϶±»³ÆÎªLeaky Vessels£¬£¬£¬£¬£¬£¬Ó°ÏìÁËRuncºÍBuildKit£¬£¬£¬£¬£¬£¬ÍþвÕß¿ÉÀûÓÃÕâЩ·ì϶»ñµÃ¶Ôµ×²ãÖ÷»ú²Ù×÷ϵͳµÄδÊÚȨ½Ó¼û¡£¡£¡£¡£¡£¡£
runc ÊÇÒ»ÖÖ CLI ¹¤¾ß£¬£¬£¬£¬£¬£¬ÓÃÓÚÆ¾¾Ý OCI ¹æ·¶ÔÚ Linux ÉÏÌìÉúºÍÔËÐÐÈÝÆ÷¡£¡£¡£¡£¡£¡£runcµÄʹÓü«¶È½Ã½Ý£¬£¬£¬£¬£¬£¬Äܹ»Óë¸÷ÀàÈÝÆ÷¹¤¾ßºÍƽ̨¼¯³É£¬£¬£¬£¬£¬£¬ÈçDocker¡¢KubernetesµÈ¡£¡£¡£¡£¡£¡£ÆäÖÐCVE-2024-21626Éæ¼°runc£¬£¬£¬£¬£¬£¬runc 1.1.11¼°Ö®Ç°°æ±¾ÖУ¬£¬£¬£¬£¬£¬ÓÉÓÚÄÚ²¿ÎļþÃèÊö·ûй©£¬£¬£¬£¬£¬£¬±¾µØÍþвÕßÄܹ»Í¨¹ý¶àÖÖ·½Ê½ÊµÏÖÈÝÆ÷ÌÓÒÝ£ºÍþвÕßÄܹ»Í¨¹ýʹÐÂÌìÉúµÄÈÝÆ÷¹ý³Ì£¨À´×Ôrunc exec£©ÔÚÖ÷»úÎļþϵͳ¶¨Ãû¿Õ¼äÖÐÕ¼ÓÐÒ»¸ö¹¤×÷Ŀ¼£¬£¬£¬£¬£¬£¬»òÓÕÊ¹ÌØÈ¨Óû§ÔËÐжñÒâ¾µÏñ²¢ÔÊÐíÈÝÆ÷¹ý³Ìͨ¹ý runc run ½Ó¼ûÖ÷»úÎļþϵͳ£¬£¬£¬£¬£¬£¬´Ó¶ø»ñµÃ¶ÔÖ÷»úÎļþϵͳµÄ½Ó¼ûȨÏÞ¡£¡£¡£¡£¡£¡£ÕâЩ¹¥»÷»¹¿ÉÓÃÓÚ¸²¸Ç°ëËÁÒâÖ÷»ú¶þ½øÔìÎļþ£¬£¬£¬£¬£¬£¬´Ó¶øÊµÏÖÈÝÆ÷ÌÓÒÝ¡£¡£¡£¡£¡£¡£
BuildKit ÊÇDocker¹Ù·½ÉçÇøÍÆ³öµÄÏÂÒ»´ú¾µÏñ¹¹½¨×é¼þ£¬£¬£¬£¬£¬£¬Äܹ»Ô½·¢¼±¾ç¡¢ÓÐЧ¡¢°²È«µØ¹¹½¨docker ¾µÏñ¡£¡£¡£¡£¡£¡£MobyÊÇDocker´´½¨µÄÒ»¸ö¿ªÔ´ÏîÄ¿£¬£¬£¬£¬£¬£¬Ö¼ÔÚʵÏÖÈí¼þÈÝÆ÷»¯¡£¡£¡£¡£¡£¡£BuildKiºÍMobyÖл¹´æÔÚÈç϶à¸ö·ì϶£º
CVE-2024-23651£º¸Ã·ì϶µÄCVSSÆÀ·ÖΪ8.7£¬£¬£¬£¬£¬£¬ÔÚ BuildKit <= v0.12.4 ÖУ¬£¬£¬£¬£¬£¬²¢×ßÔËÐеÄÁ½¸ö¶ñÒâ¹¹½¨²½ÖèÓë×Óõè¾¶¹²ÏíÒ»ÑùµÄ»º´æ¹ÒÔØ¿ÉÄܻᵼÖ¾ºÕùǰÌᣬ£¬£¬£¬£¬£¬´Ó¶øµ¼Ö¹¹½¨ÈÝÆ÷Äܹ»½Ó¼ûÖ÷»úϵͳÖеÄÎļþ¡£¡£¡£¡£¡£¡£Ö»Óе±Óû§ÊÔͼ¹¹½¨¶ñÒâÏîÖ÷ÕÅDockerfileʱ£¬£¬£¬£¬£¬£¬²Å»á²úÉúÕâÖÖÇé¿ö¡£¡£¡£¡£¡£¡£
CVE-2024-23652£º¸Ã·ì϶µÄCVSSÆÀ·ÖΪ10.0£¬£¬£¬£¬£¬£¬ÔÚ BuildKit <= v0.12.4 ÖУ¬£¬£¬£¬£¬£¬Ê¹Óà RUN --mount µÄ¶ñÒâ BuildKit ǰ¶Ë»ò Dockerfile ¿ÉÄÜ»áºýŪɾ³ýΪ¹ÒÔØµã´´½¨µÄ¿ÕÎļþµÄÖ°ÄÜ£¬£¬£¬£¬£¬£¬´Ó¶ø´ÓÖ÷»úϵͳÖÐɾ³ýÈÝÆ÷±íµÄÎļþ¡£¡£¡£¡£¡£¡£Ö»Óе±Óû§Ê¹ÓöñÒâ Dockerfile ʱ²Å»á²úÉúÕâÖÖÇé¿ö¡£¡£¡£¡£¡£¡£
CVE-2024-23653£º¸Ã·ì϶µÄCVSSÆÀ·ÖΪ9.8¡£¡£¡£¡£¡£¡£³ýÁË×÷Ϊ¹¹½¨²½ÖèÔËÐÐÈÝÆ÷±í£¬£¬£¬£¬£¬£¬BuildKit »¹ÌṩÁË»ùÓÚ¹¹½¨¾µÏñÔËÐн»»¥Ê½ÈÝÆ÷µÄ API¡£¡£¡£¡£¡£¡£ÔÚ BuildKit <= v0.12.4 ÖУ¬£¬£¬£¬£¬£¬Äܹ»Ê¹ÓÃÕâЩ API À´ÒªÇó BuildKit ÒÔÌáÉýµÄȨÏÞÔËÐÐÈÝÆ÷¡£¡£¡£¡£¡£¡£Í¨³££¬£¬£¬£¬£¬£¬Ö»ÓÐÔÚ buildkitd ÅäÖÃÆôÓÃÁË security.insecure ȨÏÞ£¬£¬£¬£¬£¬£¬²¢ÇÒ³õʼ»¯¹¹½¨ÒªÇóµÄÓû§ÔÊÐíµÄÇé¿öÏ£¬£¬£¬£¬£¬£¬²ÅÔÊÐíÔËÐдËÀàÈÝÆ÷¡£¡£¡£¡£¡£¡£
CVE-2024-23650£¨ÖÐΣ£©£ºÔÚ BuildKit <= v0.12.4 ÖУ¬£¬£¬£¬£¬£¬¶ñÒâ BuildKit ¿Í»§¶Ë»òǰ¶Ë¿ÉÔì×÷Ò»¸öÒªÇ󣬣¬£¬£¬£¬£¬µ¼Ö BuildKit ÊØ»¤¹ý³ÌÒò·¢¼±¶ø±ÀÀ£¡£¡£¡£¡£¡£¡£
CVE-2024-24557£¨ÖÐΣ£©£ºÔÚ Moby <= v25.0.1 ºÍ <= v24.0.8 ÖУ¬£¬£¬£¬£¬£¬ÈôÊǾµÏñÊÇÖØÐ¹¹½¨µÄ£¬£¬£¬£¬£¬£¬¾µäµÄ¹¹½¨Æ÷»º´æÏµÍ³ºÜÈÝÒ׳öÏÖ»º´æÖж¾¡£¡£¡£¡£¡£¡£
¶þ¡¢Ó°ÏìÁìÓò
Runc <= 1.1.11
BuildKit <= 0.12.4
Moby (Docker Engine)<= 25.0.1 ºÍ<= 24.0.8
Docker Desktop <= 4.27.0
Containerd < 1.6.28
Èý¡¢°²È«´ëÊ©
3.1 Éý¼¶°æ±¾
Ŀǰ²¿ÃÅÈÝÆ÷»ù´¡ÉèÊ©ÖÐÒѾ½¨¸´ÁËÕâЩ·ì϶£¬£¬£¬£¬£¬£¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½ÒÔϰ汾£º
Runc >= 1.1.12
BuildKit >= 0.12.5
Moby (Docker Engine) >= 25.0.2 ºÍ >= 24.0.9
Docker Desktop >= 4.27.1
Containerd >= 1.6.28
ÏÂÔØÁ´½Ó£º
https://snyk.io/blog/leaky-vessels-docker-runc-container-breakout-vulnerabilities/
3.2 һʱ´ëÊ©
ÈçÎÞ·¨Éý¼¶µ½½¨¸´°æ±¾£¬£¬£¬£¬£¬£¬¿É×ñÑÒÔÏÂ×î¼Ñʵ¼ÊÀ´½µµÍ·çÏÕ£º
l ½öʹÓÃÊÜÐÅÀµµÄ Docker ¾µÏñ£¨ÀýÈçDocker ¹Ù·½¾µÏñ£©¡£¡£¡£¡£¡£¡£
l ²»Òª´Ó²»ÊÜÐÅÀµµÄÆðÔ´»ò²»ÊÜÐÅÀµµÄ Dockerfile ¹¹½¨ Docker ¾µÏñ¡£¡£¡£¡£¡£¡£
l ÈôÊÇÊÇʹÓà Docker Desktop µÄ Docker Business ¿Í»§£¬£¬£¬£¬£¬£¬²¢ÇÒÎÞ·¨ÔÚ v4.27.1 °ä²¼ºóÁ¢¼´¸üе½¸Ã°æ±¾£¬£¬£¬£¬£¬£¬ÇëÈ·±£ÆôÓà Hardened Docker Desktop Ö°ÄÜ£¬£¬£¬£¬£¬£¬ÀýÈ磺
¨¹ ¼ÓÇ¿µÄÈÝÆ÷¸ôÀ루Enhanced Container Isolation£©£¬£¬£¬£¬£¬£¬¿ÉÔÚ´Ó¶ñÒâ¾µÏñÔËÐÐÈÝÆ÷µÄÇé¿öϼõÇáCVE-2024-21626µÄÓ°Ïì¡£¡£¡£¡£¡£¡£
¨¹ ¾µÏñ½Ó¼ûÖÎÀíºÍ×¢²á±í½Ó¼ûÖÎÀí£¬£¬£¬£¬£¬£¬¿ÉÈÃÆóÒµ½ÚÔìÓû§Äܹ»½Ó¼ûÄÄЩ¾µÏñºÍ´æ´¢¿â¡£¡£¡£¡£¡£¡£
l ¶ÔÓÚ CVE-2024-23650¡¢CVE-2024-23651¡¢CVE-2024-23652 ºÍ CVE-2024-23653£¬£¬£¬£¬£¬£¬ÇëÔ¤·ÀʹÓÃÀ´×Ô²»ÊÜÐÅÀµÆðÔ´µÄBuildKit ǰ¶Ë¡£¡£¡£¡£¡£¡£Ç°¶Ë¾µÏñͨ³£ÔÚ Dockerfile µÄ #syntax ÐÐÖÐÖ¸¶¨£¬£¬£¬£¬£¬£¬»òÔÚʹÓà buildctl build ºÅÁîʱʹÓà --frontend ±êÖ¾Ö¸¶¨¡£¡£¡£¡£¡£¡£
l Òª»º½â CVE-2024-24557 µÄÓ°Ï죬£¬£¬£¬£¬£¬ÇëÈ·±£ÔÚ¹¹½¨¾µÏñʱʹÓà BuildKit »ò½ûÓûº´æ¡£¡£¡£¡£¡£¡£
3.3 ͨÓý¨Òé
l ¶¨ÆÚ¸üÐÂϵͳ²¹¶¡£¬£¬£¬£¬£¬£¬Ï÷¼õϵͳ·ì϶£¬£¬£¬£¬£¬£¬ÌáÉý·þÎñÆ÷µÄ°²È«ÐÔ¡£¡£¡£¡£¡£¡£
l ¼ÓǿϵͳºÍÍøÂçµÄ½Ó¼û½ÚÔ죬£¬£¬£¬£¬£¬Åú¸Ä·À»ðǽսÊõ£¬£¬£¬£¬£¬£¬¹Ø¹Ø·Ç±ØÒªµÄÀûÓö˿ڻò·þÎñ£¬£¬£¬£¬£¬£¬Ï÷¼õ½«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Â¶³öµ½¹«Íø£¬£¬£¬£¬£¬£¬Ï÷¼õ¹¥»÷Ãæ¡£¡£¡£¡£¡£¡£
l ʹÓÃÆóÒµ¼¶°²È«²úÆ·£¬£¬£¬£¬£¬£¬ÌáÉýÆóÒµµÄÍøÂ簲ȫ»úÄÜ¡£¡£¡£¡£¡£¡£
l ¼ÓǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬£¬£¬£¬£¬£¬ÆôÓöà³É·ÖÈÏÖ¤»úÔìºÍ×îÓ×ȨÏÞ×¼Ôò£¬£¬£¬£¬£¬£¬Óû§ºÍÈí¼þȨÏÞӦά³ÖÔÚ×îµÍÏÞ¶È¡£¡£¡£¡£¡£¡£
l ÆôÓÃÇ¿ÃÜÂëÕ½Êõ²¢ÉèÖÃΪ¶¨ÆÚÅú¸Ä¡£¡£¡£¡£¡£¡£
3.4 ²Î¿¼Á´½Ó
https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
https://snyk.io/blog/leaky-vessels-docker-runc-container-breakout-vulnerabilities/
https://snyk.io/blog/cve-2024-21626-runc-process-cwd-container-breakout/
https://www.docker.com/blog/docker-security-advisory-multiple-vulnerabilities-in-runc-buildkit-and-moby/
ËÄ¡¢°æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ±¸×¢ |
V1.0 | 2024-02-02 | ³õ´Î°ä²¼ |
Îå¡¢¸½Â¼
5.1 8827Ì«Ñô¼¯Íżò½é
8827Ì«Ñô¼¯ÍųÉÁ¢ÓÚ1996Ä꣬£¬£¬£¬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£¡£¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°8827Ì«Ñô¼¯ÍÅ´óÏ㬣¬£¬£¬£¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬£¬£¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£¡£¡£¡£¡£¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬£¬£¬£¬£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢Çþ·ϵͳºÍ¼¼ÊõÖ§³Öϵͳ¡£¡£¡£¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÀö½ÖÐÓ×°å¹ÒÅÆÉÏÊС£¡£¡£¡£¡£¡££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬£¬£¬£¬£¬£¬8827Ì«Ñô¼¯ÍÅÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬£¬£¬£¬£¬£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬£¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£¡£¡£¡£¡£¡£
5.2 ¹ØÓÚ8827Ì«Ñô¼¯ÍÅ
8827Ì«Ñô¼¯ÍŰ²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÒѰ䲼1000¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯£¬£¬£¬£¬£¬£¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶£¬£¬£¬£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½¡£¡£¡£¡£¡£¡£
¹Ø×¢ÎÒÃÇ£º



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