¡¾Îó²îͨ¸æ¡¿Judge0ɳÏäÌÓÒÝ´úÂëÖ´ÐÐÎó²î£¨CVE-2024-28185£©
Ðû²¼Ê±¼ä 2024-04-30Ò»¡¢Îó²î¸ÅÊö
Îó²îÃû³Æ | Judge0ɳÏäÌÓÒÝ´úÂëÖ´ÐÐÎó²î | ||
CVE ID | CVE-2024-28185 | ||
Îó²îÀàÐÍ | ·ûºÅÁ´½Ó¡¢É³ÏäÌÓÒÝ | ·¢Ã÷ʱ¼ä | 2024-04-30 |
Îó²îÆÀ·Ö | 10.0 | Îó²îÆ·¼¶ | ÑÏÖØ |
¹¥»÷ÏòÁ¿ | ÍøÂç | ËùÐèȨÏÞ | ÎÞ |
ʹÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | ÒѹûÕæ | ÔÚҰʹÓà | δ·¢Ã÷ |
Judge0ÊÇÒ»¸öǿʢµÄ¡¢¿ÉÀ©Õ¹µÄ¿ªÔ´ÔÚÏß´úÂëÖ´ÐÐϵͳ£¬£¬£¬£¬£¬£¬£¬¿ÉÒÔʹÓÃËüÀ´¹¹½¨ÐèÒªÔÚÏß´úÂëÖ´Ðй¦Ð§µÄÖÖÖÖÓ¦ÓóÌÐò¡£¡£¡£¡£¡£¡£¡£
2024Äê4ÔÂ30ÈÕ£¬£¬£¬£¬£¬£¬£¬¼øºÚµ£±£ÍøVSRC¼à²âµ½Judge0ÖÐÐÞ¸´Á˶à¸öɳÏäÌÓÒÝÎó²î£¬£¬£¬£¬£¬£¬£¬ÍþвÕß¿ÉʹÓÃÕâЩÎó²îʵÏÖɳÏäÌÓÒÝ¡¢´úÂëÖ´Ðв¢¿ÉÄÜ»ñµÃÖ÷»úÉϵÄrootȨÏÞ£¬£¬£¬£¬£¬£¬£¬ÏêÇéÈçÏ£º
CVE-2024-28185£ºJudge0·ûºÅÁ´½ÓɳÏäÌÓÒÝÎó²î
ÓÉÓÚ¸ÃÓ¦ÓóÌÐòÖÐδ˼Á¿°²ÅÅÔÚɳÏäĿ¼ÄڵķûºÅÁ´½Ó£¬£¬£¬£¬£¬£¬£¬ÍþвÕß¿ÉÒÔʹÓ÷ûºÅÁ´½ÓдÈëí§ÒâÎļþ²¢ÔÚɳÏäÍâʵÏÖ´úÂëÖ´ÐУ¬£¬£¬£¬£¬£¬£¬ÀÖ³ÉʹÓøÃÎó²î¿ÉÄܵ¼ÖÂÔÚÔËÐÐÌá½»×÷ÒµµÄ Docker ÈÝÆ÷ÉÏ»ñµÃ·ÇɳÏä´úÂëÖ´ÐÐȨÏÞ£¬£¬£¬£¬£¬£¬£¬²¢¿ÉÄÜÔÚDockerÈÝÆ÷Ö®ÍâÌáÉýȨÏÞ¡£¡£¡£¡£¡£¡£¡£¸ÃÎó²îµÄCVSSÆÀ·ÖΪ10.0¡£¡£¡£¡£¡£¡£¡£
CVE-2024-28189£ºJudge0·ûºÅÁ´½ÓchownɳÏäÌÓÒÝÎó²î
ÓÉÓÚ¸ÃÓ¦ÓóÌÐò¶ÔɳÏäÖеIJ»ÊÜÐÅÈεÄÎļþʹÓÃUnix/Linux chownÏÂÁ£¬£¬£¬£¬£¬£¬ÍþвÕß¿ÉÒÔͨ¹ý½¨ÉèÖ¸ÏòɳÏäÍⲿÎļþµÄ·ûºÅÁ´½ÓÀ´Ê¹Óøù¦Ð§£¬£¬£¬£¬£¬£¬£¬´Ó¶øµ¼ÖÂÔÚɳÏäÍâµÄí§ÒâÎļþÉÏÔËÐÐchown¡£¡£¡£¡£¡£¡£¡£ÍþвÕß¿ÉʹÓøÃÎó²îÈÆ¹ýCVE-2024-28185µÄ²¹¶¡²¢ÊµÏÖɳÏäÌÓÒݺʹúÂëÖ´ÐУ¬£¬£¬£¬£¬£¬£¬¸ÃÎó²îµÄCVSSÆÀ·ÖΪ10.0¡£¡£¡£¡£¡£¡£¡£
CVE-2024-29021£ºJudge0 SSRFɳÏäÌÓÒÝÎó²î
Judge0Öб£´æ²»Çå¾²µÄĬÈÏÉèÖ㬣¬£¬£¬£¬£¬£¬µ¼ÖÂЧÀÍÈÝÒ×Êܵ½Í¨¹ýЧÀÍÆ÷¶ËÇëÇóαÔ죨SSRF£©¾ÙÐÐɳÏäÌÓÒÝ£¬£¬£¬£¬£¬£¬£¬¶ÔJudge0 API ÓÐ×ã¹»»á¼ûȨÏÞµÄÍþвÕßÄܹ»ÒÔÄ¿µÄÅÌËã»úÉ쵀 root Éí·ÝʵÏÖ·ÇɳÏä´úÂëÖ´ÐС£¡£¡£¡£¡£¡£¡£¸ÃÎó²îµÄCVSSÆÀ·ÖΪ9.1£¬£¬£¬£¬£¬£¬£¬Ê¹ÓøÃÎó²îÐèÔÚ judge0.conf Öн« ALLOW_ENABLE_NETWORK ÉèΪ true »ò¿Õ£¬£¬£¬£¬£¬£¬£¬ÇÒPOSTGRES_PASSWORD ±ØÐèΪĬÈÏÃÜÂë»ò¿É±©Á¦ÆÆ½âÃÜÂë¡£¡£¡£¡£¡£¡£¡£
¶þ¡¢Ó°Ïì¹æÄ£
Judge0 <= 1.13.0
Èý¡¢Çå¾²²½·¥
3.1 Éý¼¶°æ±¾
ÏÖÔÚ¸ÃÎó²îÒѾÐÞ¸´£¬£¬£¬£¬£¬£¬£¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½ÒÔϰ汾£º
Judge0 >= 1.13.1
ÏÂÔØÁ´½Ó£º
https://github.com/judge0/judge0/releases
3.2 ÔÝʱ²½·¥
ÔÝÎÞ¡£¡£¡£¡£¡£¡£¡£
3.3 ͨÓý¨Òé
l °´ÆÚ¸üÐÂϵͳ²¹¶¡£¬£¬£¬£¬£¬£¬£¬ïÔÌϵͳÎó²î£¬£¬£¬£¬£¬£¬£¬ÌáÉýЧÀÍÆ÷µÄÇå¾²ÐÔ¡£¡£¡£¡£¡£¡£¡£
l ÔöǿϵͳºÍÍøÂçµÄ»á¼û¿ØÖÆ£¬£¬£¬£¬£¬£¬£¬Ð޸ķÀ»ðǽսÂÔ£¬£¬£¬£¬£¬£¬£¬¹Ø±Õ·ÇÐëÒªµÄÓ¦Óö˿ڻòЧÀÍ£¬£¬£¬£¬£¬£¬£¬ïÔ̽«Î£ÏÕЧÀÍ£¨ÈçSSH¡¢RDPµÈ£©Ì»Â¶µ½¹«Íø£¬£¬£¬£¬£¬£¬£¬ïÔ̹¥»÷Ãæ¡£¡£¡£¡£¡£¡£¡£
l ʹÓÃÆóÒµ¼¶Çå¾²²úÆ·£¬£¬£¬£¬£¬£¬£¬ÌáÉýÆóÒµµÄÍøÂçÇå¾²ÐÔÄÜ¡£¡£¡£¡£¡£¡£¡£
l ÔöǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬£¬£¬£¬£¬£¬£¬ÆôÓöàÒòËØÈÏÖ¤»úÖÆºÍ×îСȨÏÞÔÔò£¬£¬£¬£¬£¬£¬£¬Óû§ºÍÈí¼þȨÏÞÓ¦¼á³ÖÔÚ×îµÍÏÞ¶È¡£¡£¡£¡£¡£¡£¡£
l ÆôÓÃÇ¿ÃÜÂëÕ½ÂÔ²¢ÉèÖÃΪ°´ÆÚÐ޸ġ£¡£¡£¡£¡£¡£¡£
3.4 ²Î¿¼Á´½Ó
https://github.com/judge0/judge0/security/advisories/GHSA-h9g2-45c8-89cf
https://github.com/judge0/judge0/security/advisories/GHSA-3xpw-36v7-2cmg
https://github.com/judge0/judge0/security/advisories/GHSA-q7vg-26pg-v5hr
https://tantosec.com/blog/judge0/
ËÄ¡¢°æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ±¸×¢ |
V1.0 | 2024-04-30 | Ê×´ÎÐû²¼ |
Îå¡¢¸½Â¼
5.1 ¼øºÚµ£±£Íø¼ò½é
¼øºÚµ£±£Íø½¨ÉèÓÚ1996Ä꣬£¬£¬£¬£¬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£¡£¡£¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¼øºÚµ£±£Íø´óÏ㬣¬£¬£¬£¬£¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬£¬£¬£¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£¡£¡£¡£¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬£¬£¬£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£¡£¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡£¡£¡£¡£¡££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬£¬£¬£¬£¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬£¬£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£¡£¡£¡£
5.2 ¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬£¬£¬£¬£¬£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬£¬£¬£¬£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£¡£¡£¡£¡£
¹Ø×¢ÎÒÃÇ£º