¡¾Îó²îͨ¸æ¡¿Golang net/url Ŀ¼±éÀúÎó²î£¨CVE-2022-32190£©

Ðû²¼Ê±¼ä 2022-09-14


0x00 Îó²î¸ÅÊö

CVE   ID

CVE-2022-32190

·¢Ã÷ʱ¼ä

2022-09-14

Àà    ÐÍ

Ŀ¼±éÀú

µÈ    ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ

ÊÇ

Ó°Ïì¹æÄ£


¹¥»÷ÖØÆ¯ºó

µÍ

Óû§½»»¥

ÎÞ

PoC/EXP


ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

Go£¨ÓÖ³Æ Golang£©µÄnet/url °üÌṩÁËÖÚ¶à´¦Öóͷ£ URL µÄÄÚÖú¯Êý £¬£¬£¬ÊµÏÖÁ˶ÔURLµÄÆÊÎö´¦Öóͷ£¡£¡£ ¡£¡£¡£¡£

9ÔÂ12ÈÕ £¬£¬£¬GolangÐû²¼Ç徲ͨ¸æ £¬£¬£¬ÐÞ¸´ÁËnet/url°üÖеÄÒ»¸öĿ¼±éÀúÎó²î£¨CVE-2022-32190£©¡£¡£ ¡£¡£¡£¡£

ÓÉÓÚnet/url°üÖеÄJoinPathº¯Êý²»»áɾ³ý¸½¼Óµ½Ïà¶Ô·¾¶Éϵġ°../¡±Â·¾¶ÔªËØ £¬£¬£¬¿ÉÄܵ¼ÖÂĿ¼±éÀú¹¥»÷ £¬£¬£¬ÀÖ³ÉʹÓôËÎó²î¿ÉÄܵ¼Ö»á¼ûϵͳÃô¸ÐÎļþ¡£¡£ ¡£¡£¡£¡£

 

Ó°Ïì¹æÄ£

Golang net/url < 1.18.6

1.19.0 <= Golang net/url < 1.19.1

 

0x02 Çå¾²½¨Òé

ÏÖÔÚ´ËÎó²îÒѾ­ÐÞ¸´ £¬£¬£¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½Golang 1.19.1 ¡¢1.18.6»ò¸ü¸ß°æ±¾¡£¡£ ¡£¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://go.dev/dl/

 

0x03 ²Î¿¼Á´½Ó

https://pkg.go.dev/vuln/GO-2022-0988

https://github.com/golang/go/issues/54385

https://groups.google.com/g/golang-announce/c/x49AQzIVX-s

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-09-14

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

ÈËÉú¾ÍÊDz©¼ò½é

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

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

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

 

¹ØÓÚÈËÉú¾ÍÊDz©

ÈËÉú¾ÍÊDz©Çå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£ ¡£¡£¡£¡£

¹Ø×¢ÒÔϹ«ÖںŠ£¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º

image.png