UbuntuÄÚºËOverlayFSȨÏÞÌÓÒÝ·ì϶·ÖÎö£¨CVE-2021-3493£©

°ä²¼¹¦·ò 2021-04-29

±³  ¾°


ƾ¾Ý¹Ù·½½éÉÜ£¬£¬£¬£¬ £¬£¬£¬£¬OverlayFs·ì϶ÔÊÐíUbuntuϵı¾µØÓû§»ñµÃrootȨÏÞ¡£¡£¡£¡£¡£ ¡£ ¡£¡£Õâ¸ö·ì϶ÊÇUbuntuϵͳÖеÄÌØ¶¨ÎÊÌ⣬£¬£¬£¬ £¬£¬£¬£¬ÔÚ¸ÃÎÊÌâÖУ¬£¬£¬£¬ £¬£¬£¬£¬Î´ÕýÈ·ÑéÖ¤¹ØÓÚÓû§namespaceÎļþϵͳְÄܵÄÀûÓ÷¨Ê½¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÓÉÓÚUbuntu¸½´øÁËÒ»¸öÔÊÐí·ÇÌØÈ¨µÄOverlayfs¹ÒÔØµÄ²¹¶¡£¡£¡£¡£¡£ ¡£ ¡£¡£¬£¬£¬£¬ £¬£¬£¬£¬½áºÏÕâ¸ö²¹¶¡¹ÒÔØOverlayfsÄܹ»È¨ÏÞÌÓÒÝ£¬£¬£¬£¬ £¬£¬£¬£¬´ïµ½È¨ÏÞÌáÉýµÄÖ÷ÕÅ¡£¡£¡£¡£¡£ ¡£ ¡£¡£


Ó°Ïì°æ±¾


Ubuntu 20.10

Ubuntu 20.04 LTS

Ubuntu 18.04 LTS

Ubuntu 16.04 LTS

Ubuntu 14.04 ESM


·ì϶¸´ÏÖ


Ê×ÏȲ鿴Äں˰汾£¬£¬£¬£¬ £¬£¬£¬£¬ÎªÊÜÓ°Ïì°æ±¾±àÒëexploitºóÖ´ÐУ¬£¬£¬£¬ £¬£¬£¬£¬ÌáȨ³É¹¦¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÈçÏÂͼËùʾ£º


1.jpg


ÓйؽéÉÜ


£¨1£©Ðé¹¹Îļþϵͳ

Ϊ֧³Ö¸÷Àà±¾»úÎļþϵͳ£¬£¬£¬£¬ £¬£¬£¬£¬ÇÒÔÚͬʱÔÊÐí½Ó¼ûÆäËû²Ù×÷ϵͳµÄÎļþ£¬£¬£¬£¬ £¬£¬£¬£¬LinuxÄÚºËÔÚÓû§¹ý³Ì£¨»òC³ß¶È¿â£©ºÍÎļþϵͳʵÏÖÖ®¼äÒýÈëÁËÒ»¸ö³éÏó²ã¡£¡£¡£¡£¡£ ¡£ ¡£¡£¸Ã³éÏó²ã³ÆÖ®ÎªÐé¹¹Îļþϵͳ£¨Virtual File System£©¼ò³ÆVFS£¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


2.jpg


VFSΪËùÓеÄÎļþϵͳÌṩÁËͳһµÄ½Ó¿Ú£¬£¬£¬£¬ £¬£¬£¬£¬¶Ôÿ¸ö¾ßÌåÎļþϵͳµÄ½Ó¼ûҪͨ¹ýVFS½ç˵µÄ½Ó¿ÚÀ´ÊµÏÖ¡£¡£¡£¡£¡£ ¡£ ¡£¡£VFS³éÏóÁ˼¸¸ö³ÁÒªµÄ½á¹¹£ºsuper_block£¬£¬£¬£¬ £¬£¬£¬£¬dentry£¬£¬£¬£¬ £¬£¬£¬£¬inode£¬£¬£¬£¬ £¬£¬£¬£¬file£¬£¬£¬£¬ £¬£¬£¬£¬Í¨¹ýÕâЩ½á¹¹½«Ò»¸öÕæÊµµÄÎļþϵͳ³éÏóµ½ÄÚ´æÖУ¬£¬£¬£¬ £¬£¬£¬£¬´Ó¶øÍ¨¹ýÖÎÀíÕâЩ¶ÔÏó¶ÔÎļþϵͳ½øÐвÙ×÷¡£¡£¡£¡£¡£ ¡£ ¡£¡£


£¨2£©OverlayÎļþϵͳ

OverlayFSÊÇÒ»¸öÃæÏòLinuxµÄÎļþϵͳ·þÎñ£¬£¬£¬£¬ £¬£¬£¬£¬ÆäʵÏÖÒ»¸öÃæÏòÆäËûÎļþϵͳµÄ½áºÏ¹ÒÔØ¡£¡£¡£¡£¡£ ¡£ ¡£¡£ËüÓÚ2014Äê±»¹é²¢µ½LinuxÄں˵Ä3.18°æ±¾¡£¡£¡£¡£¡£ ¡£ ¡£¡£OverlayFSµÄÖØÒª»úÔìÉæ¼°µ½Á½¸öÎļþϵͳ£¬£¬£¬£¬ £¬£¬£¬£¬ÌṩͳһÃû³ÆµÄĿ¼ʱ£¬£¬£¬£¬ £¬£¬£¬£¬Ä¿Â¼½Ó¼û¹é²¢¡£¡£¡£¡£¡£ ¡£ ¡£¡£³ý´ËÖ®±í£¬£¬£¬£¬ £¬£¬£¬£¬OverlayFS³ÊÏÔìäÖÐÒ»¸öËù²úÉúµÄ¶ÔÏ󣬣¬£¬£¬ £¬£¬£¬£¬¡°Éϲ㡱ÎļþϵͳÓÅÏÈ¡£¡£¡£¡£¡£ ¡£ ¡£¡£OverlayFSÓëÆäËû¸²¸ÇÐÍÎļþϵͳ·ÖÆç£¬£¬£¬£¬ £¬£¬£¬£¬OverlayFS¹é²¢µÄĿ¼×ÓÊ÷²»Ô¸¶¨ÊÇÀ´×Ô·ÖÆçµÄÎļþϵͳ¡£¡£¡£¡£¡£ ¡£ ¡£¡£³ÉЧÈçÏÂͼËùʾ£º


3.jpg


Æä¹ÒÔØÎļþµÄ¸ù»ùºÅÁîÈçÏ£º

mount -t overlay overlay -o lowerdir=lower1:lower2:lower3,upperdir=upper,workdir=work merged¡£¡£¡£¡£¡£ ¡£ ¡£¡£


ÆäÖÓ×°lower1:lower2:lower3¡±°µÊ¾·ÖÆçµÄlower²ãĿ¼£¬£¬£¬£¬ £¬£¬£¬£¬·ÖÆçµÄĿ¼ʹÓá°:¡±·Ö¸ô£¬£¬£¬£¬ £¬£¬£¬£¬µµ´Î¹ØÏµË³´ÎΪlower1 > lower2 > lower3£¨×¢£º¶àlower²ãÖ°ÄÜÖ§³ÖÔÚLinux-4.0ºÏÈ룬£¬£¬£¬ £¬£¬£¬£¬Linux-3.18°æ±¾Ö»ÄÜÖ¸¶¨Ò»¸ölower dir£©,¶øºóupperºÍworkĿ¼±ðÀ밵ʾ£ºupper²ãĿ¼ºÍÎļþϵͳ¹ÒÔØºó£¬£¬£¬£¬ £¬£¬£¬£¬ÓÃÓÚ´æ·ÅһʱºÍ¼ä½ÓÎļþµÄ¹¤×÷»ùĿ¼£¨work base dir£©£¬£¬£¬£¬ £¬£¬£¬£¬×îºóµÄmergedĿ¼¾ÍÊÇ×îÖյĹÒÔØµãĿ¼¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÈôËùÓÐ˳Àû£¬£¬£¬£¬ £¬£¬£¬£¬ÔÚÖ´ÐÐÒÔÉϺÅÁîºó£¬£¬£¬£¬ £¬£¬£¬£¬overlayfs¾Í³É¹¦¹ÒÔØµ½mergedĿ¼ÏÂÁË¡£¡£¡£¡£¡£ ¡£ ¡£¡£


£¨3£©capabilitiy

ΪÁ˽øÐÐȨÏ޲鳭£¬£¬£¬£¬ £¬£¬£¬£¬Linuxϵͳ½«¹ý³Ì·ÖΪÁËÁ½Àࣺprivileged¹ý³Ì£¨effective UIDΪ0£©ºÍ unprivileged ¹ý³Ì£¨effective UIDΪ·Ç0£©¡£¡£¡£¡£¡£ ¡£ ¡£¡£privileged¹ý³ÌÄܹ»ÈƹýËùÓеÄÄÚºËȨÏ޲鳭£¬£¬£¬£¬ £¬£¬£¬£¬¶øunprivileged ¹ý³ÌÒª½øÐÐÑϸñµÄȨÏ޲鳭¡£¡£¡£¡£¡£ ¡£ ¡£¡£´Ó2.2°æ±¾µÄÄÚºËÆðÍ·£¬£¬£¬£¬ £¬£¬£¬£¬linux¶ÔȨÏÞ½øÐÐÁËϸ·Ö£¬£¬£¬£¬ £¬£¬£¬£¬·ÖΪ¶àÖÖ·ÖÆçµÄȨÏÞ£¬£¬£¬£¬ £¬£¬£¬£¬³ÆÖ®Îªcapability¡£¡£¡£¡£¡£ ¡£ ¡£¡£capabilityÄܹ»×÷ÓÃÔÚ¹ý³ÌÉÏ£¬£¬£¬£¬ £¬£¬£¬£¬Ò²Äܹ»×÷ÓÃÔÚ·¨Ê½ÎļþÉÏ¡£¡£¡£¡£¡£ ¡£ ¡£¡£Ä¿Ç°£¬£¬£¬£¬ £¬£¬£¬£¬LinuxϵͳÉÏʵÏÖÁË37ÖÖcapability¡£¡£¡£¡£¡£ ¡£ ¡£¡£


ÿ¸ö¹ý³Ì¶¼ÓÐÎå¸öcapability¼¯ÖУºPermitted£¬£¬£¬£¬ £¬£¬£¬£¬Inheritable£¬£¬£¬£¬ £¬£¬£¬£¬Effective£¬£¬£¬£¬ £¬£¬£¬£¬Ambient£¬£¬£¬£¬ £¬£¬£¬£¬Bounding¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÎļþµÄcapability±£ÁôÔÚÎļþµÄÀ©´óÊôÐÔsecurity.capabilityÖÓ×£¡£¡£¡£¡£ ¡£ ¡£¡£ÎļþÓÐÈý¸öcapabilitiy¼¯ÖУºPermitted£¬£¬£¬£¬ £¬£¬£¬£¬Inheritable£¬£¬£¬£¬ £¬£¬£¬£¬Effective¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÎļþµÄcapabilityºÍ¹ý³ÌµÄcapabilityһ·À´¾ö¶¨ÔÚÖ´ÐÐexecveºó£¬£¬£¬£¬ £¬£¬£¬£¬¹ý³ÌµÄcapability¡£¡£¡£¡£¡£ ¡£ ¡£¡£


·ì϶µÀÀí


£¨1£©OverlayFS¹ÒÔØ

ͨ³£Çé¿öÏ£¬£¬£¬£¬ £¬£¬£¬£¬¹ÒÔØÎļþϵͳÊDZØÒªÌØÈ¨µÄ£¬£¬£¬£¬ £¬£¬£¬£¬µ«ÊÇÔÚUbuntuϵͳÖУ¬£¬£¬£¬ £¬£¬£¬£¬Í¨³£Óû§±ãÄܹ»¹ÒÔØOverlayFS¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÒÔ5.4.0°æ±¾ÄÚºËÖ÷Ïß´úÂëΪÀý£¬£¬£¬£¬ £¬£¬£¬£¬ovl_fs_type½á¹¹Ìå½ç˵ÈçÏÂͼËùʾ£º

 

4.jpg


ÒÔUbuntu20.04µÄÄں˲¹¶¡linux_5.4.0-26.30.diffΪÀý£¬£¬£¬£¬ £¬£¬£¬£¬²¹¶¡ÈçÏÂͼËùʾ£º

 

5.jpg


Ôö³¤ÁËfs_flagsÊý¾ÝÓò£¬£¬£¬£¬ £¬£¬£¬£¬²¢ÉèÖÃΪFS_USERNS_MOUNT£¬£¬£¬£¬ £¬£¬£¬£¬°µÊ¾½«ÔÊÐíÒ»¸öͨ³£Óû§ÔÚµÍȨÏÞÓû§¶¨Ãû¿Õ¼äÖÐmoutÒ»¸öoverlayfsÎļþϵͳ¡£¡£¡£¡£¡£ ¡£ ¡£¡£µ±È¥mountÒ»¸öoverlayfsÎļþϵͳʱ£¬£¬£¬£¬ £¬£¬£¬£¬Å²ÓÃõè¾¶ÈçÏÂͼËùʾ£º


6.jpg


»áŲÓõ½do_new_mount()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬¸Ãº¯ÊýÊÇ´´½¨Ò»¸öеÄmount£¬£¬£¬£¬ £¬£¬£¬£¬²¢½«Æä·ÅÈënamespaceÊ÷ÖУ¬£¬£¬£¬ £¬£¬£¬£¬ÊµÏÖ´úÂëÈçÏÂͼËùʾ£º


7.jpg


ÐÐ2792£¬£¬£¬£¬ £¬£¬£¬£¬»ñȡҪ¹ÒÔØµÄÎļþϵͳÀàÐÍ£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÀïÊÇoverlay¡£¡£¡£¡£¡£ ¡£ ¡£¡£¶øºó¾ÍÊǽøÐÐcapabilitiyУÑ飬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


8.jpg


ÓÉÓÚfs_flags±»ÉèÖÃΪFS_USERNS_MOUNT£¬£¬£¬£¬ £¬£¬£¬£¬½øÈëns_capable()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬×îºóͨ¹ý¼ìÑéºó£¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


9.jpg


²¢ÇÒÉèÖÃcurrent->flagsΪPF_SUPERPRIV£¬£¬£¬£¬ £¬£¬£¬£¬¼´ÔÚµ±Ç°¹ý³ÌÉÏÉèÖó¬µÈȨÏÞ£¬£¬£¬£¬ £¬£¬£¬£¬²¢·µ»Øture¡£¡£¡£¡£¡£ ¡£ ¡£¡£ËùÒÔͨ¹ý¹ÒÔØoverlayÎļþϵͳ£¬£¬£¬£¬ £¬£¬£¬£¬µ±Ç°¹ý³Ì¾ß±¸Á˳¬µÈȨÏÞ¡£¡£¡£¡£¡£ ¡£ ¡£¡£


 £¨2£©È¨ÏÞÌÓÒÝ

¸Ã·ì϶ÊÇÔÚsetxattr()º¯ÊýÖвúÉúµÄ£¬£¬£¬£¬ £¬£¬£¬£¬µ±¶ÔÎļþÀ©´óÊôÐÔµÄcapabilitiy½øÐÐÉèÖÃʱ£¬£¬£¬£¬ £¬£¬£¬£¬È¨ÏÞУÑé²»³¹µ×¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÏÂÃæÊÇ"SSD Secure Disclosure"Åû¶µÄExpÖ´ÐÐÇé¿ö£¬£¬£¬£¬ £¬£¬£¬£¬Å²ÓÃõè¾¶ÈçÏÂͼËùʾ£º


10.jpg


ÕâÀïpathnameΪ¡°./ovlcap/merge/magic¡±£¬£¬£¬£¬ £¬£¬£¬£¬ÐÐ468£¬£¬£¬£¬ £¬£¬£¬£¬Å²ÓÃcap_convert_nscap()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬½«ÒªÉèÖõÄcapת»»µ½nscapÖУ¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


11.jpg


½øÈëcap_convert_nscap()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬½øÐÐÓйؼì²âºó£¬£¬£¬£¬ £¬£¬£¬£¬ÈôÊÇÊÇcapabilitiy°æ±¾2£¬£¬£¬£¬ £¬£¬£¬£¬ÔòÖ±½ÓŲÓÃns_capable()½øÐмìÑ飬£¬£¬£¬ £¬£¬£¬£¬Æ¾¾Ý×¢½â¿ÉÖª£¬£¬£¬£¬ £¬£¬£¬£¬ÈôÊÇuserÓ㬵ÈȨÏÞ£¬£¬£¬£¬ £¬£¬£¬£¬Ö±½ÓдÈë²¢·µ»Ø¡£¡£¡£¡£¡£ ¡£ ¡£¡£


12.jpg


ºÁÎÞÒÉÄÑ£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÀï×¢¶¨ÊǼìÑéͨ¹ýµÄ¡£¡£¡£¡£¡£ ¡£ ¡£¡£´òÓ¡¹Ø¼üÄڴ棬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


13.jpg


¼Ä·ÅÆ÷raxΪ0x1£¬£¬£¬£¬ £¬£¬£¬£¬°µÊ¾·µ»Øture¡£¡£¡£¡£¡£ ¡£ ¡£¡£ÓÉÓÚµ±Ç°½Ó¼ûµÄinodeÊôÓÚoverlayÎļþϵͳµÄ¡£¡£¡£¡£¡£ ¡£ ¡£¡£´Ócap_convert_nscap()º¯ÊýÕýÈ··µ»Øºó£¬£¬£¬£¬ £¬£¬£¬£¬Ëæ¼´½øÈëvfs_setxattr()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÊǵÚÒ»´Î½øÈë¡£¡£¡£¡£¡£ ¡£ ¡£¡£½ÓÏÂÀ´¾ÍÊÇ·Ö·¢µ½overlayÎļþϵͳ¶ÔÓ¦µÄovl_xattr_set()º¯ÊýÖУ¬£¬£¬£¬ £¬£¬£¬£¬Å²ÓÃõè¾¶ÈçÏÂͼËùʾ£º


14.jpg


¿´ovl_xattr_set()º¯ÊýµÄ²¿ÃÅʵÏÖ´úÂ룬£¬£¬£¬ £¬£¬£¬£¬»ñÈ¡upperdentryºÍrealdentry£¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


15.jpg


»ñÈ¡ºó£¬£¬£¬£¬ £¬£¬£¬£¬´òÓ¡upperdentryºÍrealdentryÄڴ棬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


16.jpg


ƾ¾ÝoverlayÎļþϵͳ¸öÐÔ£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÀïµÄupperdentryºÍrealdentryÓ¦¸ÃÊÇ¡°./ovlcap/upper¡±Ä¿Â¼ÏµÄmagicµÄĿ¼Ï£¬£¬£¬ £¬£¬£¬£¬´òÓ¡ÄÚ´æ¿ÉÖª£¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


17.jpg


È·¶¨ÕæÊµµÄdentryºó£¬£¬£¬£¬ £¬£¬£¬£¬µÚ¶þ´ÎŲÓÃvfs_setxattr()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


18.jpg


´ËʱµÄdentryÊÇÊôÓÚext3ÎļþϵͳµÄ£¬£¬£¬£¬ £¬£¬£¬£¬´òÓ¡ÄÚ´æ¿ÉÖª£¬£¬£¬£¬ £¬£¬£¬£¬ÈçÏÂͼËùʾ£º


19.jpg


µ½´Ë¿ÉÖª£¬£¬£¬£¬ £¬£¬£¬£¬ÏÖʵÉÏÊǶÔext3Îļþϵͳϵġ°./ovlcap/upper/magic¡±½øÐÐÉèÖÃcap¡£¡£¡£¡£¡£ ¡£ ¡£¡£È¨ÏÞÌÓÒݹý³ÌÈçÏÂͼËùʾ£º


20.jpg


·ì϶ÀûÓ÷ÖÎö


"SSD Secure Disclosure"¹Ù·½ÒѾ­Åû¶ÁËÓйØExp£¬£¬£¬£¬ £¬£¬£¬£¬¾ßÌå·ÖÎöÈçÏ£º

 

21.jpg


ÕâÀï½ç˵ºóÃæ¹ÒÔØoverlayÎļþϵͳµÄÎļþ¼ÐÃû³Æ:


22.jpg


²¢×Ô½ç˵xmkdirº¯Êý´´½¨ÕâЩÎļþ¼Ð:


23.jpg


¶øºó»ñÈ¡µ±Ç°Óû§µÄuidºÍgid£º

 

24.png


´´½¨ÐµÄuser namespace£¬£¬£¬£¬ £¬£¬£¬£¬ÓÉÓÚoverlayfs mount±ØÒªCAP_SYS_MOUNTÄÜÁ¦£¬£¬£¬£¬ £¬£¬£¬£¬Òò¶ø±ØÒªÐ½¨Ò»¸öNEWUSERµÄnamespace£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÑù¾ÍÓµÓÐCAP_SYS_MOUNT£¬£¬£¬£¬ £¬£¬£¬£¬


25.jpg


CLONE_NEWNSºÍCLONE_NEWUSER½ç˵£º


26.jpg


Óõ±Ç°Óû§µÄuidºÍgidµÈ¸Äд/proc/selfϵĶÔÓ¦Îļþ£¬£¬£¬£¬ £¬£¬£¬£¬²¢ÇÒÓøÃȨÏÞϵÄnamespace¹ÒÔØoverlayfs£¬£¬£¬£¬ £¬£¬£¬£¬Ç°Ãæ¼ò½é˵ÁË£¬£¬£¬£¬ £¬£¬£¬£¬ÓÉÓÚubuntuµÄ²¹¶¡´æÔÚ£¬£¬£¬£¬ £¬£¬£¬£¬¸Ã²Ù×÷ÊǺϷ¨µÄ¡£¡£¡£¡£¡£ ¡£ ¡£¡£


27.jpg


 ¶ÔӦĿ¼ÏÂÄܹ»¿´µ½ÎÒÃÇÅú¸ÄÁ˵ÄÎļþ£¬£¬£¬£¬ £¬£¬£¬£¬Í¨¹ý/proc/self/exeÄܹ»ÕÒµ½µ±Ç°¹ý³ÌµÄ¶þ½øÔìʵÌ壨Îļþ£©£º


28.jpg


³ÖÐø»Øµ½expÖУ¬£¬£¬£¬ £¬£¬£¬£¬ÏÂÃæ»ú¹ØÁËÒ»¸öcap£¬£¬£¬£¬ £¬£¬£¬£¬¸Äcap½ç˵µÄpermittedΪ0xffffffff£¬£¬£¬£¬ £¬£¬£¬£¬²¢ÇÒ¿ªÆôEffective£¬£¬£¬£¬ £¬£¬£¬£¬¶øºó½«/proc/selfϵÄÎļþ¿½±´µ½mergeÎļþ¼ÐÏ£¬£¬£¬£¬ £¬£¬£¬£¬Æ¾¾ÝoverlayÎļþϵͳ¸öÐÔ£¬£¬£¬£¬ £¬£¬£¬£¬Õâ¸ö¿½±´¹ý³ÌÏÖʵÊÇ´´½¨./ovlcap/upper/magicÎļþ£¬£¬£¬£¬ £¬£¬£¬£¬×îºóŲÓÃsetxattr()º¯Êý£¬£¬£¬£¬ £¬£¬£¬£¬½«capÉèÖõ½./ovlcap/merge/magicÉÏÃæ¡£¡£¡£¡£¡£ ¡£ ¡£¡£


29.jpg


ƾ¾ÝǰÎÄ·ì϶µÀÀí½éÉÜ£¬£¬£¬£¬ £¬£¬£¬£¬È¨ÏÞÌÓÒݺ󣬣¬£¬£¬ £¬£¬£¬£¬´ËʱÊôÓÚext3ÎļþϵͳµÄ./ovlcap/upper/magicÎļþµÄcapabilitiyΪall+ep£¬£¬£¬£¬ £¬£¬£¬£¬±ãÄܹ»ÀûÓÃcapabilitiy½øÐÐȨÏÞÌáÉý£¬£¬£¬£¬ £¬£¬£¬£¬½Ó×ÅÆô¶¯./ovlcap/upper/magic¹ý³Ì£¬£¬£¬£¬ £¬£¬£¬£¬¸Ã¹ý³ÌµÄcapabilitiyÒѾ߱¸all+ep£¬£¬£¬£¬ £¬£¬£¬£¬¶øºó½øÐÐsetuid(0)ºÍsetgid(0)ÌáȨ²Ù×÷£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÊDZ»ÔÊÐíµÄ¡£¡£¡£¡£¡£ ¡£ ¡£¡£


30.jpg


²¹¶¡¸ú×Ù


·ì϶³ÉÒòÔÚÉÏÃæÒѾ­½éÉÜÁË£¬£¬£¬£¬ £¬£¬£¬£¬ÕâÀïµÄ²¹¶¡Ò²ºÜ³¹µ×£¬£¬£¬£¬ £¬£¬£¬£¬½«cap_convert_nscap·ÅÈëÁËvfs_setxattrÖУ¬£¬£¬£¬ £¬£¬£¬£¬¼´Ã¿´Î½øÈëvfs_setxattr()º¯Êýʱ£¬£¬£¬£¬ £¬£¬£¬£¬¶¼ÏȽøÐÐȨÏÞУÑ飬£¬£¬£¬ £¬£¬£¬£¬ÅжÏcapabilitiyºÍ¶¨Ãû¿Õ¼äµÄȨÏÞÊÇ·ñÆ¥Åä¡£¡£¡£¡£¡£ ¡£ ¡£¡£


31.jpg


²Î¿¼Á´½Ó£º

[1] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3493

[2] https://access.redhat.com/security/cve/cve-2021-3493
[3] https://ubuntu.com/security/CVE-2021-3493
[4] https://github.com/briskets/CVE-2021-3493
[5] https://cve.report/CVE-2021-3493.pdf
[6] https://blog.csdn.net/qq_15770331/article/details/96699386
[7] https://lwn.net/Articles/671641/
[8] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1793458/comments/4
[9] https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/commit/?id=98a3740920f8f3362c1ac50598af2dc632f5051a


8827Ì«Ñô¼¯ÍÅ»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©


ADLab³ÉÁ¢ÓÚ1999Ä꣬£¬£¬£¬ £¬£¬£¬£¬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò»£¬£¬£¬£¬ £¬£¬£¬£¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ±£¬£¬£¬£¬ £¬£¬£¬£¬¡°ºÚȸ¹¥»÷¡±¸ÅÏëÊ×ÍÆÕß¡£¡£¡£¡£¡£ ¡£ ¡£¡£½ØÖ¹Ä¿Ç°£¬£¬£¬£¬ £¬£¬£¬£¬ADLabÒÑͨ¹ýCVEÀۼư䲼°²È«·ì϶½ü1100¸ö£¬£¬£¬£¬ £¬£¬£¬£¬Í¨¹ý CNVD/CNNVDÀۼư䲼°²È«·ì϶1000Óà¸ö£¬£¬£¬£¬ £¬£¬£¬£¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼¡£¡£¡£¡£¡£ ¡£ ¡£¡£³¢ÊÔÊÒ×êÑз½Ïòº­¸Ç²Ù×÷ϵͳÓëÀûÓÃϵͳ°²È«×êÑÓ×¢ÖÇÄÜÖն˰²È«×êÑÓ×¢ÎïÁªÍøÖÇÄÜÉ豸°²È«×êÑÓ×¢Web°²È«×êÑÓ×¢¹¤¿ØÏµÍ³°²È«×êÑÓ×¢ÔÆ°²È«×êÑÓ×£¡£¡£¡£¡£ ¡£ ¡£¡£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑÓ×¢¹ú¶È³Áµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨Òµ°²È«·þÎñµÈ¡£¡£¡£¡£¡£ ¡£ ¡£¡£


adlab.jpg