¡¾Â©¶´Í¨¸æ¡¿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¶à¸ö©¶´Í¨¸æºÍ·çÏÕÔ¤¾¯£¬ÎÒÃǽ«Á¬Ðø¸ú×ÙÈ«Çò×îеÄÍøÂçÄþ¾²Ê¼þºÍ©¶´£¬ÎªÆóÒµµÄÐÅÏ¢Äþ¾²±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º