¡¾Îó²îͨ¸æ¡¿Linux Netfilter»º³åÇøÒç³öÎó²î£¨CVE-2022-34918£©

Ðû²¼Ê±¼ä 2022-07-07
 

0x00 Îó²î¸ÅÊö

CVE   ID

CVE-2022-34918

·¢Ã÷ʱ¼ä

2022-07-06

Àà    ÐÍ

»º³åÇøÒç³ö

µÈ    ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ

·ñ

Ó°Ïì¹æÄ£


¹¥»÷ÖØÆ¯ºó


Óû§½»»¥


PoC/EXP

ÒѹûÕæ

ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

NetfilterÊÇLinux 2.4.xÒýÈëµÄÒ»¸ö×Óϵͳ£¬Ëü×÷ΪLinuxµ×²ã°ü´¦Öóͷ£¿ò¼Ü£¬ÌṩһÕûÌ×µÄhookº¯ÊýµÄÖÎÀí»úÖÆ£¬¿ÉÒÔÓÃÓÚ¶ÔÊý¾Ý°ü¾ÙÐйýÂË¡¢Ð޸ġ¢µØµãת»»(SNAT/DNAT)µÈ´¦Öóͷ£¡£

¿ËÈÕ£¬Linux Netfilter×ÓϵͳÖб»Åû¶±£´æÒ»¸ö»º³åÇøÒç³öÎó²î£¨CVE-2022-34918£©£¬Ó°ÏìÁËLinuxÄں˶à¸ö°æ±¾£¬ÏÖÔÚ¸ÃÎó²îµÄϸ½Ú¼°PoCÒѹûÕæ¡£

nft_set_elem_initº¯Êý£¨/net/netfilter/nf_tables_api.c)ÖÐÓÉÓÚ¶ÔÓû§ÊäÈëµÄÈõ¼ì²éµ¼Ö»º³åÇøÒç³ö£¬ÀÖ³ÉʹÓôËÎó²î¿ÉʵÏÖÍâµØÈ¨ÏÞÌáÉý£¨LPE£©Îªroot¡£µ«ÒªÊ¹ÓôËÎó²î£¬ÐèÒª»ñµÃ·ÇÌØÈ¨Óû§ÃüÃû¿Õ¼ä£¬ÒÔ»ñµÃ CAP_NET_ADMIN ȨÏÞ¡£

 

Ó°Ïì¹æÄ£

5.8 <= LinuxÄÚºË <= 5.18.9

 

0x02 Çå¾²½¨Òé

ÏÖÔÚ´ËÎó²îµÄ²¹¶¡ÒѾ­Ðû²¼£¬ÊÜÓ°ÏìÓû§¿ÉʵʱÐÞ¸´¡£

²¹¶¡ÏÂÔØÁ´½Ó£º

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=7e6bc1f6cabcd30aba0b11219d8e01b952eacbb6

ÏÂÔØÁ´½Ó£º

https://kernel.org/

 

0x03 ²Î¿¼Á´½Ó

https://www.openwall.com/lists/oss-security/2022/07/05/1

https://lore.kernel.org/netfilter-devel/cd9428b6-7ffb-dd22-d949-d86f4869f452@randorisec.fr/T/#u

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-07-07

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

×ðÁú¿­Ê±¼ò½é

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

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

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

 

¹ØÓÚ×ðÁú¿­Ê±

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

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

image.png