¡¾·ì϶¹«¸æ¡¿MySQL2Ô¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2024-21508£©

°ä²¼¹¦·ò 2024-04-15

Ò»¡¢·ì϶¸ÅÊö

·ìϼûû³Æ

   MySQL2Ô¶³Ì´úÂëÖ´Ðзì϶

CVE   ID

CVE-2024-21508

·ì϶ÀàÐÍ

RCE

·¢ÏÖ¹¦·ò

2024-04-15

·ì϶ÆÀ·Ö

9.8

·ì϶µÈ¼¶

ÑϳÁ

¹¥»÷ÏòÁ¿

ÍøÂç

ËùÐèȨÏÞ

ÎÞ

ÀûÓÃÄѶÈ

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP

Òѹ«¿ª

ÔÚÒ°ÀûÓÃ

δ·¢ÏÖ

 

mysql2ÊǺÏÓÃÓÚNode.jsµÄMySQL¿Í»§¶Ë¿â £¬¸Ã¿âµÄÿÖÜÏÂÔØÁ¿³¬¹ý200Íò´Î¡£

2024Äê4ÔÂ15ÈÕ £¬GA»Æ½ð¼×VSRC¼à²âµ½mysql2´æÔÚÒ»¸öÔ¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2024-21508£© £¬ÆäCVSSÆÀ·ÖΪ9.8 £¬Ä¿Ç°¸Ã·ì϶µÄϸ½Ú¼°PoCÒѹ«¿ª¡£

mysql2 °æ±¾3.9.4֮ǰ £¬ÓÉÓÚreadCodeFor º¯ÊýÖÐδÕýÈ·ÑéÖ¤ supportBigNumbers ºÍ bigNumberStrings Öµ £¬ÍþвÕß¿Éͨ¹ý»ú¹Ø¶ñÒâ¶ÔÏó²¢½«Æä×÷Ϊ²ÎÊý´«µÝ¸ø connection.queryº¯ÊýÀ´Ö´ÐжñÒâJavaScript ´úÂë £¬´Ó¶øµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£



¶þ¡¢Ó°ÏìÁìÓò

mysql2 (npm) < 3.9.4

 


Èý¡¢°²È«´ëÊ©

3.1 Éý¼¶°æ±¾

Ŀǰ¸Ã·ì϶ÒѾ­½¨¸´ £¬ÊÜÓ°ÏìÓû§¿É¸üе½mysql2 3.9.4»ò¸ü¸ß°æ±¾¡£

ÏÂÔØÁ´½Ó£º

https://github.com/sidorares/node-mysql2/releases

3.2 һʱ´ëÊ©

ÔÝÎÞ¡£

3.3 ͨÓý¨Òé

l  ¶¨ÆÚ¸üÐÂϵͳ²¹¶¡ £¬Ï÷¼õϵͳ·ì϶ £¬ÌáÉý·þÎñÆ÷µÄ°²È«ÐÔ¡£

l  ¼ÓǿϵͳºÍÍøÂçµÄ½Ó¼û½ÚÔì £¬Åú¸Ä·À»ðǽսÊõ £¬¹Ø¹Ø·Ç±ØÒªµÄÀûÓö˿ڻò·þÎñ £¬Ï÷¼õ½«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Â¶³öµ½¹«Íø £¬Ï÷¼õ¹¥»÷Ãæ¡£

l  ʹÓÃÆóÒµ¼¶°²È«²úÆ· £¬ÌáÉýÆóÒµµÄÍøÂ簲ȫ»úÄÜ¡£

l  ¼ÓǿϵͳÓû§ºÍȨÏÞÖÎÀí £¬ÆôÓöà³É·ÖÈÏÖ¤»úÔìºÍ×îÓ×ȨÏÞ×¼Ôò £¬Óû§ºÍÈí¼þȨÏÞӦά³ÖÔÚ×îµÍÏÞ¶È¡£

l  ÆôÓÃÇ¿ÃÜÂëÕ½Êõ²¢ÉèÖÃΪ¶¨ÆÚÅú¸Ä¡£

3.4 ²Î¿¼Á´½Ó

https://github.com/sidorares/node-mysql2/pull/2572

https://blog.slonser.info/posts/mysql2-attacker-configuration/

https://github.com/wellwelwel/node-mysql2/commit/c6f329d7f97af3354278f10b997d8406bd9dd136

https://security.snyk.io/vuln/SNYK-JS-MYSQL2-6591085

https://www.npmjs.com/package/mysql2

 

 

ËÄ¡¢°æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

±¸×¢

V1.0

2024-04-15

³õ´Î°ä²¼

 

 

Îå¡¢¸½Â¼

5.1 GA»Æ½ð¼×¼ò½é

GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Äê £¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£

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

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

5.2 ¹ØÓÚGA»Æ½ð¼×

GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÒѰ䲼1000¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯ £¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶ £¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½¡£

¹Ø×¢ÎÒÃÇ£º

image.png