¡¾Îó²îͨ¸æ¡¿RustÏÂÁî×¢ÈëÎó²î£¨CVE-2024-24576£©
Ðû²¼Ê±¼ä 2024-04-10Ò»¡¢Îó²î¸ÅÊö
Îó²îÃû³Æ | RustÏÂÁî×¢ÈëÎó²î | ||
CVE ID | CVE-2024-24576 | ||
Îó²îÀàÐÍ | ÏÂÁî×¢Èë | ·¢Ã÷ʱ¼ä | 2024-04-10 |
Îó²îÆÀ·Ö | 10.0 | Îó²îÆ·¼¶ | ÑÏÖØ |
¹¥»÷ÏòÁ¿ | ÍøÂç | ËùÐèȨÏÞ | ÎÞ |
ʹÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | δ֪ | ÔÚҰʹÓà | δ֪ |
RustÊÇÒ»ÖÖͨÓᢱàÒëÐͱà³ÌÓïÑÔ£¬£¬£¬Ç¿µ÷ÐÔÄÜ¡¢ÀàÐÍÇå¾²ºÍ²¢·¢ÐÔ£¬£¬£¬Ö§³Öº¯Êýʽ¡¢²¢·¢Ê½¡¢Àú³ÌʽÒÔ¼°ÃæÏò¹¤¾ßµÄ±à³ÌÆø¸Å¡£¡£¡£¡£
2024Äê4ÔÂ10ÈÕ£¬£¬£¬¼øºÚµ£±£ÍøVSRC¼à²âµ½Rust ±ê×¼¿âÖб£´æÏÂÁî×¢ÈëÎó²î£¨CVE-2024-24576£¬£¬£¬±»³ÆÎªBatBadBut£©£¬£¬£¬¸ÃÎó²îµÄCVSSÆÀ·ÖΪ10.0£¬£¬£¬¿ÉÄÜÔÚWindowsϵͳÉϵ¼ÖÂÏÂÁî×¢Èë¹¥»÷£¬£¬£¬ÏÖÔÚ¸ÃÎó²îµÄϸ½ÚÒѹûÕæ¡£¡£¡£¡£
Rust±ê×¼¿â1.77.2 °æ±¾Ö®Ç°£¬£¬£¬ÔÚ Windows ÉÏʹÓÃCommand API ŲÓÃÅú´¦Öóͷ£Îļþ£¨´øÓÐbatºÍcmdÀ©Õ¹Ãû£©Ê±£¬£¬£¬Rust ±ê×¼¿âûÓÐ׼ȷתÒåÅú´¦Öóͷ£ÎļþµÄ²ÎÊý£¬£¬£¬Äܹ»¿ØÖÆ×ª´ï¸øÌìÉúÀú³ÌµÄ²ÎÊýµÄ¹¥»÷Õß¿ÉÈÆ¹ýתÒåÖ´ÐÐí§Òâshell ÏÂÁî¡£¡£¡£¡£
¶þ¡¢Îó²î¸´ÏÖ
Èý¡¢Ó°Ïì¹æÄ£
Rust < 1.77.2£¨Windowsƽ̨£©
×¢£ºÈôÊÇ´úÂë»òÒÀÀµÏî֮һʹÓò»ÊÜÐÅÈεIJÎÊýÖ´ÐÐÅú´¦Öóͷ£Îļþ£¬£¬£¬Ôò Windows ÉÏ 1.77.2 ֮ǰµÄËùÓÐ Rust °æ±¾¶¼»áÊܵ½Ó°Ï죬£¬£¬ÆäËûƽ̨»òʹÓò»Ò×Êܵ½Ó°Ïì¡£¡£¡£¡£
BatBadButÎó²îÔÊÐí¹¥»÷ÕßÔÚÖª×ãÌØ¶¨Ìõ¼þʱ¶Ô¼ä½ÓÒÀÀµCreateProcessº¯ÊýµÄWindowsÓ¦ÓóÌÐòÖ´ÐÐÏÂÁî×¢Èë¡£¡£¡£¡£CreateProcessº¯ÊýÔÚÖ´ÐÐÅú´¦Öóͷ£Îļþʱ»áÒþʽÌìÉúcmd.exe¡£¡£¡£¡£
BatBadButÎó²î¿ÉÄÜÓ°ÏìErlang¡¢Go¡¢Haskell¡¢Java¡¢Node.js¡¢PHP¡¢Python¡¢Ruby¡¢RustµÈ¶àÖÖ±à³ÌÓïÑÔ£¬£¬£¬µ±±à³ÌÓïÑÔ·â×° CreateProcess º¯Êý²¢ÎªÏÂÁî²ÎÊýÌí¼ÓתÒå»úÖÆÊ±±£´æÇå¾²ÎÊÌ⣬£¬£¬µ¼Ö¶ñÒâÏÂÁîÐвÎÊý¿ÉÄÜÄܹ»Ö´ÐÐÏÂÁî×¢Èë¡£¡£¡£¡£
Ïà¹ØCVE°üÀ¨CVE-2024-1874¡¢CVE-2024-22423¡¢CVE-2024-24576£¨Rust£©¡¢CVE-2024-3566 ¡¢CVE-2024-27980£¨Node.js£©µÈ£¬£¬£¬ÏÖÔÚPHP¡¢Rust¡¢Node.jsµÈ±à³ÌÓïÑÔÒÑÐû²¼ÁËÐÞ¸´°æ±¾£¬£¬£¬ÏêÇé¿É²Î¿¼£ºhttps://kb.cert.org/vuls/id/123335
ËÄ¡¢Çå¾²²½·¥
4.1 Éý¼¶°æ±¾
ÏÖÔÚ¹Ù·½ÒÑÔÚRust °æ±¾1.77.2Öлº½âÐÞ¸´Á˸ÃÎó²î£¬£¬£¬Ë¢ÐÂÁËתÒå´úÂëµÄÎȽ¡ÐÔ£¬£¬£¬²¢¸ü¸ÄÁËCommand API£¬£¬£¬Ê¹ÆäÔÚÎÞ·¨Çå¾²µØ×ªÒå²ÎÊýʱ·µ»ØInvalidInput¹ýʧ¡£¡£¡£¡£ÊÜÓ°ÏìÓû§¿É¸üе½Rust 1.77.2»ò¸ü¸ß°æ±¾¡£¡£¡£¡£
ÏÂÔØÁ´½Ó£º
https://blog.rust-lang.org/2024/04/09/Rust-1.77.2.html
°æ±¾¼ì²â£º
ÔÚWindows cmd »ò PowershellÖÐÖ´ÐÐÏÂÁrustc --version»òÕß rustc -V
4.2 ÔÝʱ²½·¥
×èÖ¹ÔÚWindowsÉÏʹÓò»ÊÜÐÅÈεIJÎÊýŲÓÃÅú´¦Öóͷ£Îļþ¡£¡£¡£¡£
4.3 ͨÓý¨Òé
l °´ÆÚ¸üÐÂϵͳ²¹¶¡£¬£¬£¬ïÔÌϵͳÎó²î£¬£¬£¬ÌáÉýЧÀÍÆ÷µÄÇå¾²ÐÔ¡£¡£¡£¡£
l ÔöǿϵͳºÍÍøÂçµÄ»á¼û¿ØÖÆ£¬£¬£¬Ð޸ķÀ»ðǽսÂÔ£¬£¬£¬¹Ø±Õ·ÇÐëÒªµÄÓ¦Óö˿ڻòЧÀÍ£¬£¬£¬ïÔ̽«Î£ÏÕЧÀÍ£¨ÈçSSH¡¢RDPµÈ£©Ì»Â¶µ½¹«Íø£¬£¬£¬ïÔ̹¥»÷Ãæ¡£¡£¡£¡£
l ʹÓÃÆóÒµ¼¶Çå¾²²úÆ·£¬£¬£¬ÌáÉýÆóÒµµÄÍøÂçÇå¾²ÐÔÄÜ¡£¡£¡£¡£
l ÔöǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬£¬£¬ÆôÓöàÒòËØÈÏÖ¤»úÖÆºÍ×îСȨÏÞÔÔò£¬£¬£¬Óû§ºÍÈí¼þȨÏÞÓ¦¼á³ÖÔÚ×îµÍÏÞ¶È¡£¡£¡£¡£
l ÆôÓÃÇ¿ÃÜÂëÕ½ÂÔ²¢ÉèÖÃΪ°´ÆÚÐ޸ġ£¡£¡£¡£
4.4 ²Î¿¼Á´½Ó
https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html
https://github.com/rust-lang/rust/security/advisories/GHSA-q455-m56c-85mh
https://flatt.tech/research/posts/batbadbut-you-cant-securely-execute-commands-on-windows/
https://kb.cert.org/vuls/id/123335
Îå¡¢°æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ±¸×¢ |
V1.0 | 2024-04-10 | Ê×´ÎÐû²¼ |
V1.1 | 2024-04-12 | ÐÂÔöÎó²î¸´ÏÖ¡¢Ïà¹ØCVEÐÅÏ¢¼°°æ±¾¼ì²â |
Áù¡¢¸½Â¼
6.1 ¼øºÚµ£±£Íø¼ò½é
¼øºÚµ£±£Íø½¨ÉèÓÚ1996Ä꣬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¼øºÚµ£±£Íø´óÏ㬣¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡£¡££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£
6.2 ¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£¡£
¹Ø×¢ÎÒÃÇ£º