¡¾Â©¶´Í¨¸æ¡¿runcÈÝÆ÷ÌÓÒÝ©¶´£¨CVE-2024-21626£©
Ðû²¼Ê±¼ä 2024-02-02
Ò»¡¢Â©¶´¸ÅÊö
©¶´Ãû³Æ | runcÈÝÆ÷ÌÓÒÝ©¶´ | ||
CVE ID | CVE-2024-21626 | ||
©¶´ÀàÐÍ | ÈÝÆ÷ÌÓÒÝ | ·¢ÏÖʱ¼ä | 2024-02-01 |
©¶´ÆÀ·Ö | 8.6 | ©¶´Æ·¼¶ | ¸ßΣ |
¹¥»÷ÏòÁ¿ | µ±µØ | ËùÐèȨÏÞ | ÎÞ |
ÀûÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÐèÒª |
PoC/EXP | δ¹ûÈ» | ÔÚÒ°ÀûÓà | δ·¢ÏÖ |
2024Äê2ÔÂ1ÈÕ£¬¶¶È¦Îª¶Ä¶øÉúVSRC¼à²âµ½»¥ÁªÍøÉÏÅû¶¶à¸öºËÐÄÈÝÆ÷»ù´¡ÉèÊ©×é¼þÖз¢ÏÖÁË4¸ö©¶´£¨CVE-2024-21626¡¢CVE-2024-23651¡¢CVE-2024-23652 ºÍ CVE-2024-23653£©£¬ÕâЩ©¶´±»³ÆΪLeaky Vessels£¬Ó°ÏìÁËRuncºÍBuildKit£¬ÍþвÕß¿ÉÀûÓÃÕâЩ©¶´»ñµÃ¶Ôµ×²ãÖ÷»ú²Ù×÷ϵͳµÄδÊÚȨ·ÃÎÊ¡£
runc ÊÇÒ»ÖÖ CLI ¹¤¾ß£¬ÓÃÓÚƾ¾Ý OCI ¹æ·¶ÔÚ Linux ÉÏÉú³ÉºÍÔËÐÐÈÝÆ÷¡£runcµÄʹÓ÷dz£Áé»î£¬¿ÉÒÔÓëÖÖÖÖÈÝÆ÷¹¤¾ßºÍƽ̨¼¯³É£¬Èç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 ¶¶È¦Îª¶Ä¶øÉú¼ò½é
¶¶È¦Îª¶Ä¶øÉú½¨Á¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Äþ¾²¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Äþ¾²²úÎï¡¢Äþ¾²·þÎñ½â¾ö·½°¸µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¶¶È¦Îª¶Ä¶øÉú´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ÓµÓÐÁýÕÖÈ«¹úµÄÏúÊÛÌåϵ¡¢ÇþµÀÌåϵºÍ¼¼ÊõÖ§³ÖÌåϵ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬¶¶È¦Îª¶Ä¶øÉúÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´ÐµÄÄþ¾²²úÎïºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄÄþ¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Äþ¾²¹¤ÒµÁì¾üÆ·Åƶø²»Ð¸Å¬Á¦¡£
5.2 ¹ØÓÚ¶¶È¦Îª¶Ä¶øÉú
¶¶È¦Îª¶Ä¶øÉúÄþ¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸ö©¶´Í¨¸æºÍ·çÏÕÔ¤¾¯£¬ÎÒÃǽ«Á¬Ðø¸ú×ÙÈ«Çò×îеÄÍøÂçÄþ¾²Ê¼þºÍ©¶´£¬ÎªÆóÒµµÄÐÅÏ¢Äþ¾²±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º