¡¾·ì϶¹«¸æ¡¿aiohttpõè¾¶±éÀú·ì϶£¨CVE-2024-23334£©

°ä²¼¹¦·ò 2024-02-28


Ò»¡¢·ì϶¸ÅÊö

·ìϼûû³Æ

   aiohttpõè¾¶±éÀú·ì϶

CVE   ID

CVE-2024-23334

·ì϶ÀàÐÍ

õè¾¶±éÀú

·¢ÏÖ¹¦·ò

2024-02-27

·ì϶ÆÀ·Ö

7.5

·ì϶µÈ¼¶

¸ßΣ

¹¥»÷ÏòÁ¿

ÍøÂç

ËùÐèȨÏÞ

ÎÞ

ÀûÓÃÄѶÈ

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP

Òѹ«¿ª

ÔÚÒ°ÀûÓÃ

δ֪

 

AiohttpÊÇÒ»¸öºÏÓÃÓÚasyncio ºÍ Python µÄÒì²½HTTP¿Í»§¶Ë/·þÎñÆ÷¿ò¼Ü¡£

2024Äê2ÔÂ27ÈÕ £¬GA»Æ½ð¼×VSRC¼à²âµ½AiohttpÖдæÔÚÒ»¸öõè¾¶±éÀú·ì϶£¨CVE-2024-23334£© £¬ÆäCVSSÆÀ·ÖΪ7.5 £¬Ä¿Ç°¸Ã·ì϶µÄϸ½Ú¼°PoCÒѹ«¿ª¡£

AiohttpÊÜÓ°Ïì°æ±¾ÖÐ £¬µ±Ê¹ÓÃaiohttp×÷Ϊweb·þÎñÆ÷²¢ÅäÖþ²Ì¬Â·ÓÉʱ £¬±ØÒªÖ¸¶¨¾²Ì¬ÎļþµÄ¸ùõè¾¶¡£Ñ¡Ïî¡°follow_symlinks¡±¿ÉÓÃÓÚÈ·¶¨ÊÇ·ñ×ñÑ­¾²Ì¬¸ùĿ¼֮±íµÄ·ûºÅÁ´½Ó £¬µ±¸ÃÑ¡ÏîÉèÖÃΪTrueʱ £¬²»»áÑéÖ¤¸ø¶¨µÄÎļþõè¾¶ÊÇ·ñÔÚ¸ùĿ¼ÖÐ £¬¿ÉÄܵ¼ÖÂĿ¼±éÀú·ì϶ £¬´Ó¶ø¿ÉÄܵ¼ÖÂδ¾­ÊÚȨ½Ó¼ûϵͳÉϵÄËÁÒâÎļþ¡£

·ì϶¸´ÏÖ½ØÍ¼ÈçÏ£º

image.png


 

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

1.0.5 < Aiohttp < 3.9.2

 

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

3.1 Éý¼¶°æ±¾

Ŀǰ¸Ã·ì϶ÒѾ­½¨¸´ £¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½ÒÔϰ汾£º

Aiohttp >=3.9.2

ÏÂÔØÁ´½Ó£º

https://github.com/aio-libs/aiohttp/releases

3.2 һʱ´ëÊ©

ÀûÓ÷¨Ê½½öÔÚʹÓÃÒÔÏÂÉèÖôúÂëʱÈÝÒ×Êܵ½¹¥»÷£º

app.router.add_routes([

    web.static("/static", "static/", follow_symlinks=True),  # Remove follow_symlinks to avoid the vulnerability

])

¼´±ãÉý¼¶µ½ aiohttp µÄ½¨¸´°æ±¾ £¬Ò²¿É×ñÑ­ÒÔϰ²È«´ëÊ©£º

l  ÈôÊÇÔÚÊÜÏ޶ȵı¾µØ¿ª·¢»·¾³Ö®±íʹÓÃfollow_symlinks=True £¬Çëµ±¼´½ûÓøÃÑ¡Ïî¡£

l  aiohttp½¨ÒéʹÓ÷´Ïò´úÀí·þÎñÆ÷£¨Èç nginx£©À´´¦Öþ²Ì¬×ÊÔ´ £¬²»ÒªÔÚaiohttpÖн«ÕâЩ¾²Ì¬×ÊÔ´ÓÃÓÚ³ö²ú»·¾³¡£

3.3 ͨÓý¨Òé

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

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

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

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

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

3.4 ²Î¿¼Á´½Ó

https://github.com/aio-libs/aiohttp/security/advisories/GHSA-5h86-8mv2-jq9f

https://github.com/aio-libs/aiohttp/pull/8079

 


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

°æ±¾

ÈÕÆÚ

±¸×¢

V1.0

2024-02-28

³õ´Î°ä²¼

 

 

Îå¡¢¸½Â¼

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

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

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

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

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

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

¹Ø×¢ÎÒÃÇ£º

image.png