¡¾Îó²îͨ¸æ¡¿RustÏÂÁî×¢ÈëÎó²î£¨CVE-2024-24576£©

Ðû²¼Ê±¼ä 2024-04-10


Ò»¡¢Îó²î¸ÅÊö

Îó²îÃû³Æ

  RustÏÂÁî×¢ÈëÎó²î

CVE   ID

CVE-2024-24576

Îó²îÀàÐÍ

ÏÂÁî×¢Èë

·¢Ã÷ʱ¼ä

2024-04-10

Îó²îÆÀ·Ö

10.0

Îó²îÆ·¼¶

ÑÏÖØ

¹¥»÷ÏòÁ¿

ÍøÂç

ËùÐèȨÏÞ

ÎÞ

ʹÓÃÄѶÈ

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP

δ֪

ÔÚҰʹÓÃ

δ֪

 

RustÊÇÒ»ÖÖͨÓᢱàÒëÐͱà³ÌÓïÑÔ £¬£¬£¬£¬£¬Ç¿µ÷ÐÔÄÜ¡¢ÀàÐÍÇå¾²ºÍ²¢·¢ÐÔ £¬£¬£¬£¬£¬Ö§³Öº¯Êýʽ¡¢²¢·¢Ê½¡¢Àú³ÌʽÒÔ¼°ÃæÏò¹¤¾ßµÄ±à³ÌÆø¸Å¡£¡£¡£ ¡£¡£¡£

2024Äê4ÔÂ10ÈÕ £¬£¬£¬£¬£¬918²©ÌìÌÃVSRC¼à²âµ½Rust ±ê×¼¿âÖб£´æÏÂÁî×¢ÈëÎó²î£¨CVE-2024-24576 £¬£¬£¬£¬£¬±»³ÆÎªBatBadBut£© £¬£¬£¬£¬£¬¸ÃÎó²îµÄCVSSÆÀ·ÖΪ10.0 £¬£¬£¬£¬£¬¿ÉÄÜÔÚWindowsϵͳÉϵ¼ÖÂÏÂÁî×¢Èë¹¥»÷ £¬£¬£¬£¬£¬ÏÖÔÚ¸ÃÎó²îµÄϸ½ÚÒѹûÕæ¡£¡£¡£ ¡£¡£¡£

Rust±ê×¼¿â1.77.2 °æ±¾Ö®Ç° £¬£¬£¬£¬£¬ÔÚ Windows ÉÏʹÓÃCommand API ŲÓÃÅú´¦Öóͷ£Îļþ£¨´øÓÐbatºÍcmdÀ©Õ¹Ãû£©Ê± £¬£¬£¬£¬£¬Rust ±ê×¼¿âûÓÐ׼ȷתÒåÅú´¦Öóͷ£ÎļþµÄ²ÎÊý £¬£¬£¬£¬£¬Äܹ»¿ØÖÆ×ª´ï¸øÌìÉúÀú³ÌµÄ²ÎÊýµÄ¹¥»÷Õß¿ÉÈÆ¹ýתÒåÖ´ÐÐí§Òâshell ÏÂÁî¡£¡£¡£ ¡£¡£¡£

 

¶þ¡¢Îó²î¸´ÏÖ

image.png                                             



Èý¡¢Ó°Ïì¹æÄ£

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 918²©ÌìÌüò½é

918²©ÌìÌý¨ÉèÓÚ1996Äê £¬£¬£¬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£ ¡£¡£¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£ ¡£¡£¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°918²©ÌìÌôóÏà £¬£¬£¬£¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË £¬£¬£¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£ ¡£¡£¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö £¬£¬£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£ ¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡£ ¡£¡£¡££¨¹ÉƱ´úÂ룺002439£©

¶àÄêÀ´ £¬£¬£¬£¬£¬918²©ÌìÌÃÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ £¬£¬£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ £¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£ ¡£¡£¡£

6.2 ¹ØÓÚ918²©ÌìÌÃ

918²©ÌìÌÃÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯ £¬£¬£¬£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î £¬£¬£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£ ¡£¡£¡£

¹Ø×¢ÎÒÃÇ£º

image.png