¡¾Îó²îͨ¸æ¡¿RustÏÂÁî×¢ÈëÎó²î£¨CVE-2024-24576£©
Ðû²¼Ê±¼ä 2024-04-10Ò»¡¢Îó²î¸ÅÊö
Îó²îÃû³Æ | RustÏÂÁî×¢ÈëÎó²î | ||
CVE ID | CVE-2024-24576 | ||
Îó²îÀàÐÍ | ÏÂÁî×¢Èë | ·¢Ã÷ʱ¼ä | 2024-04-10 |
Îó²îÆÀ·Ö | 10.0 | Îó²îÆ·¼¶ | ÑÏÖØ |
¹¥»÷ÏòÁ¿ | ÍøÂç | ËùÐèȨÏÞ | ÎÞ |
ʹÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | δ֪ | ÔÚҰʹÓà | δ֪ |
RustÊÇÒ»ÖÖͨÓᢱàÒëÐͱà³ÌÓïÑÔ£¬£¬Ç¿µ÷ÐÔÄÜ¡¢ÀàÐÍÇå¾²ºÍ²¢·¢ÐÔ£¬£¬Ö§³Öº¯Êýʽ¡¢²¢·¢Ê½¡¢Àú³ÌʽÒÔ¼°ÃæÏò¹¤¾ßµÄ±à³ÌÆø¸Å¡£¡£¡£
2024Äê4ÔÂ10ÈÕ£¬£¬ÈËÉú¾ÍÊDz©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 ÈËÉú¾ÍÊDz©¼ò½é
ÈËÉú¾ÍÊDz©½¨ÉèÓÚ1996Ä꣬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°ÈËÉú¾ÍÊDz©´óÏ㬣¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬£¬ÈËÉú¾ÍÊDz©ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£
6.2 ¹ØÓÚÈËÉú¾ÍÊDz©
ÈËÉú¾ÍÊDz©Çå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£
¹Ø×¢ÎÒÃÇ£º



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