Linux Sudo ȨÏÞÈÆ¹ý·ì϶°²È«¹«¸æ

°ä²¼¹¦·ò 2019-10-15

·ì϶±àºÅºÍ¼¶±ð


CVE±àºÅ£ºCVE-2019-14287 £¬Î£ÏÕ¼¶±ð£º¸ßΣ £¬CVSS·ÖÖµ£º¹Ù·½Î´ÆÀ¶¨


Ó°Ïì°æ±¾


Sudo 1.8.28֮ǰµÄËùÓа汾


·ì϶¸ÅÊö


Sudo µÄÈ«³ÆÊÇ¡°superuserdo¡± £¬ËüÊÇLinuxϵͳÖÎÀíÖ¸Áî £¬ÔÊÐíÓû§ÔÚ²»±ØÒªÇл»»·¾³µÄǰÌáÏÂÒÔÆäËüÓû§µÄȨÏÞÔËÐÐÀûÓ÷¨Ê½»òºÅÁî £¬Í¨³£ÊÇÒÔ root Óû§Éí·ÝÔËÐкÅÁî £¬ÒÔÏ÷¼õ root Óû§µÄµÇ¼ºÍÖÎÀí¹¦·ò £¬Í¬Ê±Ìá¸ß°²È«ÐÔ¡£


¸Ã·ì϶ÊÇ sudo°²È«Õ½ÊõÈÆ¹ýÎÊÌâ £¬¿Éµ¼Ö¶ñÒâÓû§»ò·¨Ê½ÔÚÖ¸±ê Linux ϵͳÉÏÒÔ root Éí·ÝÖ´ÐÐËÁÒâºÅÁî £¬¼´±ã ¡°sudoers configuration¡± Ã÷È·²»Èݸà root½Ó¼ûȨÏÞÒ²²»Àý±í¡£


ÀûÓø÷ì϶ҪÇóÓû§ÓµÓÐ sudo ȨÏÞ £¬´Ó¶øÒÔËÁÒâÓû§ ID ÔËÐкÅÁͨ³£¶øÑÔ £¬ÕâÒâζ×ÅÓû§µÄ sudoers Ìõ¿îÔÚ Runas ¹æ·¶ÖÐÓµÓÐÌØÊâÖµ ALL¡£Sudo Ö§³ÖÔÚ sudoers Õ½ÊõÔÊÐíµÄÇé¿öÏ £¬ÒÔÓû§Ö¸¶¨µÄÃû³Æ»òÓû§ ID ÔËÐкÅÁî¡£ÀýÈç £¬ÈçÏ sudoers Ìõ¿îÔÊÐí id ºÅÁîÒÔËÁÒâÓû§Éí·ÝÔËÐÐ £¬ÓÉÓÚËüÔ̺¬ Runas ¹æ·¶ÖеĹؼü×ÖALL¡£


myhost alice = (ALL) /usr/bin/id


Óû§²»½ö¿ÉÄÜÒÔÆäËüºÏ·¨Óû§Éí·ÝÔËÐиà id ºÅÁî £¬»¹ÄÜʹÓà #uid Óï·¨ÒÔËÁÒâÓû§ ID ÔËÐиúÅÁî £¬ÀýÈ磺


sudo -u#1234 id -u


½«·µ»Ø1234 £¬È»¶ø £¬sudo ÔÚÔËÐкÅÁîǰÓû§Åú¸ÄÓû§ ID µÄsetresuid(2) ºÍ setreuid(2)ϵͳŲÓý«ÌØÊâ¶Ô´ýÓû§ IDΪ-1£¨»òÆäδÊðÃûµÄµÈֵͬ 4294967295£©²¢ÇÒ²¢²»»áÅú¸Ä¸ÃÖµµÄÓû§ ID¡£Òò¶ø £¬


sudo -u#-1 id -u


»ò


sudo -u#4294967295 id -u


ÏÖʵÉϻ᷵»Ø 0¡£ÕâÊÇÓÉÓÚ sudoºÅÁî×ÔÉí¾ÍÒѾ­ÒÔÓû§ ID Ϊ0 ÔËÐÐ £¬Òò¶øµ± sudo ÊÔͼ½«Óû§ ID Åú¸Ä³É -1ʱ £¬²»»á²úÉúÈκα䶯¡£Õâ¾Íµ¼Ö sudo ÈÕÖ¾Ìõ¿î½«¸ÃºÅÁî»ã±¨ÎªÒÔÓû§ ID Ϊ 4294967295¶ø·Ç root £¨»òÕßÓû§IDΪ 0£©ÔËÐкÅÁî¡£´Ë±í £¬ÓÉÓÚͨ¹ý¨Cu Ñ¡ÏîÖ¸¶¨µÄÓû§ ID ²¢²»´æÔÚÓÚÃÜÂëÊý¾Ý¿âÖÐ £¬Òò¶ø²»»áÔËÐÐÈκΠPAM »á»°Ä £¿é¡£


ÈôÊÇsudoers Ìõ¿î±»Ð´ÈëÔÊÐíÓû§ÒÔ³ý root Éí·ÝÒÔ±íµÄÓû§Éí·ÝÔËÐкÅÁî £¬Ôò¿ÉÀûÓøà bug ÈÆ¹ý¸ÃÏÞ¶È¡£ÀýÈç £¬¸ø¶¨ÈçÏ sudoers Ìõ¿î£º


myhost bob = (ALL, !root) /usr/bin/vi


Óû§ bob ±»ÔÊÐíÒÔ³ýÁË rootÒÔ±íµÄÆäËüÓû§Éí·ÝÔËÐÐ vi¡£È»¶ø £¬ÓÉÓÚ´æÔڸ÷ì϶ £¬bob ÏÖʵÉÏ¿ÉÄÜͨ¹ýÔËÐÐ sudo ¨Cu#-1 vi µÄ·½Ê½ÒÔ root Éí·ÝÔËÐÐ vi £¬´Ó¶øÎ¥·´Á˰²È«Õ½Êõ¡£Ö»ÓÐRunas ¹æ·¶ÖдæÔڹؼü×Ö ALL µÄsudoers Ìõ¿îÊÜÓ°Ïì¡£ÀýÈç £¬ÈçÏÂsudoers Ìõ¿î²¢²»ÊÜÓ°Ï죺


myhost alice = /usr/bin/id


ÔÚÕâ¸öÀý×ÓÖÐ £¬alice½ö±»ÔÊÐíÒÔ rootÉí·ÝÔËÐÐ id ºÅÁî¡£ÈκÎÒÔÆäËüÓû§Éí·ÝÔËÐиúÅÁîµÄ³¢ÊÔ¶¼½«Ôâ»Ø¾ø¡£


´Ë·ì϶ÊÇÖÎÀíÔ±ÔÚÅäÖÃÎļþÖÐÓÃÁËALL¹Ø¼ü´ÊºóÔì³ÉµÄ¡£µ«Ä¬ÈϵÄsudoÅäÖÃÎļþ²»ÊÜÓ°Ïì¡£


·ì϶ÑéÖ¤


¸´ÏÖ»·¾³£º


GA»Æ½ð¼×¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾



µ±/etc/sudoersÎļþ´æÔÚÈçÏ´ó¾ÖµÄÅäÖûᵼÖ·ì϶µÄ²úÉú£º


GA»Æ½ð¼×¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾


GA»Æ½ð¼×¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾



½¨¸´½¨Òé


¹Ù·½ÒѾ­ÍƳö°²È«¸üР£¬Çë¸üÐÂÖÁ1.8.28°æ±¾£ºhttps://www.sudo.ws/download.html¡£


ÒÔÏÂΪ¸÷³§É̸ø³öµÄ²¼¸æ¼°½¨Ò飺


Red Hat Enterprise Linux / CentOS

https://access.redhat.com/security/cve/CVE-2019-14287


Ubuntu

https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-14287.html


SUSE / openSUSE

https://www.suse.com/security/cve/CVE-2019-14287.html


²Î¿¼Á´½Ó


https://www.sudo.ws/alerts/minus_1_uid.html