¡¾Îó²îͨ¸æ¡¿Linux SnapÍâµØÌáȨÎó²î£¨CVE-2021-44731£©

Ðû²¼Ê±¼ä 2022-02-18

0x00 Îó²î¸ÅÊö

CVE   ID

CVE-2021-44731

ʱ    ¼ä

2022-02-17

Àà    ÐÍ

ȨÏÞÌáÉý

µÈ    ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ

·ñ

Ó°Ïì¹æÄ£


¹¥»÷ÖØÆ¯ºó

¸ß

Óû§½»»¥

ÎÞ

PoC/EXP

ÊÇ

ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

SnapÊÇCanonical¹«Ë¾ÍƳöµÄÒ»ÖÖеÄÈí¼þ°ü¹ÜÀí·½·¨£¬£¬£¬½â¾öÁËlinuxÒÀÀµÐÔµÄÎÊÌ⣬£¬£¬Snap Èí¼þ°üÓµÓÐÔ½·¢Îȹ̺ÍÇå¾²µÄÌØÕ÷¡£¡£¡£Snap-confine ÊÇ snapd ÄÚ²¿Ê¹ÓõÄÒ»¸ö³ÌÐò£¬£¬£¬ÓÃÓÚ¹¹½¨ snap Ó¦ÓóÌÐòµÄÖ´ÐÐÇéÐΡ£¡£¡£

2ÔÂ17ÈÕ£¬£¬£¬Qualys Çå¾²Ñо¿Ö°Ô±¹ûÕæÅû¶ÁËÔÚsnap-confine Öз¢Ã÷µÄÒ»¸öÍâµØÈ¨ÏÞÌáÉýÎó²î (CVE-2021-44731)£¬£¬£¬Æä CVSSv3ÆÀ·ÖΪ7.8£¬£¬£¬ÀÖ³ÉʹÓôËÎó²îÔÊÐíÈκηÇÌØÈ¨Óû§ÔÚÒ×Êܹ¥»÷µÄÖ÷»úÉÏ»ñµÃ root ȨÏÞ£¬£¬£¬ÏÖÔÚÑо¿Ö°Ô±ÒÑÐû²¼ÁË´ËÎó²îµÄPoC¡£¡£¡£µ«ÓÉÓÚsnap-confine ʹÓÃÁËÒ»ÖÖºÜÊǾßÓзÀÓùÐԵıà³ÌÆø¸Å£¬£¬£¬Òò´ËʹÓà snap-confine ÖеÄÎó²î¼«¾ßÌôÕ½ÐÔ¡£¡£¡£

snapd 2.54.2 snap-confine¶þ½øÖÆÎļþÔÚΪsnap×¼±¸Ë½ÓйÒÔØÃüÃû¿Õ¼äʱ±£´æ¾ºÕùÌõ¼þ£¬£¬£¬¿ÉÄÜÔÊÐíÍâµØ¹¥»÷Õßͨ¹ýÔÚsnapµÄ˽ÓйÒÔØÃüÃû¿Õ¼äÄڰ󶨹ÒÔØ×Ô¼ºµÄÄÚÈÝÀ´»ñµÃrootȨÏÞ£¬£¬£¬²¢µ¼ÖÂsnap-confineÖ´ÐÐí§Òâ´úÂ룬£¬£¬´Ó¶øÊµÏÖȨÏÞÌáÉý¡£¡£¡£

³ýCVE-2021-44731Í⣬£¬£¬Ñо¿Ö°Ô±»¹ÔÚsnap-confine¡¢util-linux¡¢glibcºÍsystemdÖз¢Ã÷ÁËÆäËü6¸öÎó²î£¬£¬£¬7¸öÎó²îÈçÏ£º

l  CVE-2021-44731£ºsnap-confine µÄ setup_private_mount() ÖеľºÕùÌõ¼þ

l  CVE-2021-44730£ºsnap-confine µÄ sc_open_snapd_tool() ÖеÄÓ²Á´½Ó¹¥»÷

l  CVE-2021-3996£ºutil-linux µÄ libmount ÖÐδ¾­ÊÚȨµÄÐ¶ÔØ

l  CVE-2021-3995£ºutil-linux µÄ libmount ÖÐδ¾­ÊÚȨµÄÐ¶ÔØ

l  CVE-2021-3998£ºÀ´×Ô glibc µÄ realpath() µÄÒâÍâ·µ»ØÖµ

l  CVE-2021-3999£ºglibc µÄ getcwd() ÖеĻº³åÇøÒç³ö

l  CVE-2021-3997£ºsystemd µÄ systemd-tmpfiles Öв»ÊÜ¿ØÖƵĵݹé

 

Ó°Ïì¹æÄ£

Snapd£º2.54.2°æ±¾

glibc£º2021Äê1ÔÂÌá½»µÄc6e0b0b£¨"stdlib: Sync canonicalize with gnulib"£©Ö®ºóµÄ°æ±¾

util-linux£º2018Äê11ÔÂÌá½»µÄ5fea669£¨"libmount: Support unmount FUSE mounts"£©Ö®ºóµÄ°æ±¾

Systemd£º2019Äê2ÔÂÌá½»µÄe535840£¨"tmpfiles: let's bumpRLIMIT_NOFILE for tmpfiles"£©Ö®ºóµÄ°æ±¾

 

0x02 Çå¾²½¨Òé

ÏÖÔÚÕâЩÎó²îÒѾ­ÐÞ¸´£¬£¬£¬½¨ÒéÊÜÓ°ÏìÓû§ÊµÊ±Éý¼¶¸üС£¡£¡£

Snapd£ºÔÚsnapd 2.54.3+18.04¡¢2.54.3+20.04»ò2.54.3+21.10.1°æ±¾ÖÐÐÞ¸´¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://launchpad.net/ubuntu/+source/snapd/

util-linux¡¢glibcºÍsystemdµÄ²¹¶¡ÒÑÓÚ2022Äê1ÔÂÐû²¼£¬£¬£¬Á´½ÓÈçÏ£º

https://www.openwall.com/lists/oss-security/2022/01/10/2

https://www.openwall.com/lists/oss-security/2022/01/24/2

https://www.openwall.com/lists/oss-security/2022/01/24/4

 

0x03 ²Î¿¼Á´½Ó

https://blog.qualys.com/vulnerabilities-threat-research/2022/02/17/oh-snap-more-lemmings-local-privilege-escalation-vulnerability-discovered-in-snap-confine-cve-2021-44731

https://www.qualys.com/2022/02/17/cve-2021-44731/oh-snap-more-lemmings.txt

https://nvd.nist.gov/vuln/detail/CVE-2021-3997

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-02-18

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

ÍòÀû¹ú¼Ê¹ÙÍø¼ò½é

ÍòÀû¹ú¼Ê¹ÙÍø¹«Ë¾½¨ÉèÓÚ1996Ä꣬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬£¬£¬ÊǺ£ÄÚ¼«¾ßʵÁ¦µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂçÇå¾²²úÆ·¡¢¿ÉÐÅÇå¾²ÖÎÀíÆ½Ì¨¡¢Ç徲ЧÀÍÓë½â¾ö¼Æ»®µÄ×ÛºÏÌṩÉÌ¡£¡£¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬£¬£¬ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÇþµÀϵͳºÍÊÖÒÕÖ§³ÖÖÐÐÄ£¬£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢¹ãÖÝ¡¢³¤É³¡¢º¼ÖÝµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£¡£¡£

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

 

¹ØÓÚÍòÀû¹ú¼Ê¹ÙÍø

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

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

image.png