Linux kernel iSCSI¶à¸öÇå¾²Îó²î

Ðû²¼Ê±¼ä 2021-03-15

0x00 Îó²î¸ÅÊö

2021Äê03ÔÂ12ÈÕ£¬£¬£¬£¬ £¬GRIMMµÄÑо¿Ö°Ô±Åû¶Linux Äں˵ÄiSCSI×ÓϵͳÖб£´æ3¸öÒÑÓÐ15ÄêÀúÊ·µÄÇå¾²Îó²î£¬£¬£¬£¬ £¬¾ßÓÐͨË×Óû§È¨ÏÞµÄÍâµØ¹¥»÷ÕßÄܹ»Ê¹ÓÃÕâЩÎó²îÈÆ¹ý³¬µÈÓû§Ä£Ê½Ö´Ðб£»£»£»£»£»£»¤£¨SMEP£©¡¢³¬µÈÓû§Ä£Ê½»á¼û±£»£»£»£»£»£»¤£¨SMAP£©ºÍÄÚºËÒ³±í¸ôÀ루 KPTI£©£¬£¬£¬£¬ £¬×îÖÕ»ñµÃLinuxϵͳÉϵÄrootÓû§È¨ÏÞ¡£¡£¡£

0x01 Îó²îÏêÇé

image.png

 

SCSI£¨Ð¡ÐÍÅÌËã»úϵͳ½Ó¿Ú£©ÊÇÓÃÓÚ´«ÊäÊý¾ÝµÄ±ê×¼£¬£¬£¬£¬ £¬¸ÃÊý¾Ý×î³õÊÇͨ¹ýÎïÀíµçÀ£¨ÈçÓ²ÅÌÇý¶¯Æ÷£©´«ÊäÒÔ½«ÅÌËã»úÓëÍâΧװ±¸ÅþÁ¬ÆðÀ´µÄ¡£¡£¡£SCSIÊÇÒ»¸ö¹ÅÀϵıê×¼£¬£¬£¬£¬ £¬×î³õÐû²¼ÓÚ1986Ä꣬£¬£¬£¬ £¬Ö÷ÒªÓÃÓÚЧÀÍÆ÷ÉÏ£¬£¬£¬£¬ £¬¶øiSCSIʵÖÊÉÏÊÇ»ùÓÚTCPµÄSCSI¡£¡£¡£

Ñо¿Ö°Ô±ÌåÏÖ£¬£¬£¬£¬ £¬ÕâЩÎó²î»áÓ°ÏìËùÓеÄLinux¿¯Ðа档¡£¡£Ä¬ÈÏÇéÐÎÏÂϵͳ²»»á¼ÓÔØÊÜÓ°ÏìµÄscsi_transport_iscsiÄÚºËÄ£¿£¿£¿£¿£¿£¿é£¬£¬£¬£¬ £¬µ±LinuxÄں˼ÓÔØÄ£¿£¿£¿£¿£¿£¿éʱ£¬£¬£¬£¬ £¬ÒªÃ´ÊÇÓÉÓÚ¼ì²âµ½ÐÂÓ²¼þ£¬£¬£¬£¬ £¬ÒªÃ´ÊÇÓÉÓÚÄں˺¯Êý¼ì²âµ½Ä³¸öÄ£¿£¿£¿£¿£¿£¿éɥʧ£¬£¬£¬£¬ £¬¹¥»÷Õß¿ÉÄÜ»áͨ¹ý¼ÓÔØ¸ÃÄ£¿£¿£¿£¿£¿£¿é²¢Ê¹ÓøÃÄ£¿£¿£¿£¿£¿£¿éÀ´¾ÙÐÐȨÏÞÌáÉý¡£¡£¡£Ó°ÏìÁ÷³ÌͼÈçÏ£º

image.png

±ðµÄ£¬£¬£¬£¬ £¬ÔÚCentOS 8¡¢RHEL 8ºÍFedoraϵͳÉÏ£¬£¬£¬£¬ £¬ÈôÊÇ×°ÖÃÁËrdma-coreÈí¼þ°ü£¬£¬£¬£¬ £¬ÔòûÓÐrootȨÏÞµÄÓû§¿ÉÒÔ×Ô¶¯¼ÓÔØËùÐèµÄÄ£¿£¿£¿£¿£¿£¿é¡£¡£¡£ÔÚDebianºÍUbuntuϵͳÉÏ£¬£¬£¬£¬ £¬ÈôÊÇRDMAÓ²¼þ¿ÉÓ㬣¬£¬£¬ £¬Ôòrdma-coreÈí¼þ°ü½«½ö×Ô¶¯¼ÓÔØÁ½¸ö±ØÐèµÄÄÚºËÄ£¿£¿£¿£¿£¿£¿é¡£¡£¡£Òò´Ë£¬£¬£¬£¬ £¬ÕâЩÎó²î½«¸ü½ûÖ¹Ò×±»Ê¹Óᣡ£¡£

3¸öÎó²îÏêÇéÈçÏ£º

Linux kernel iSCSI»º³åÇøÒç³öÎó²î£¨CVE-2021-27365£©

ÓÉÓÚijЩiSCSIÊý¾Ý½á¹¹Ã»ÓÐÊʵ±µÄ³¤¶ÈÏÞÖÆ»ò¼ì²é£¬£¬£¬£¬ £¬²¢ÇÒ¿ÉÄÜÁè¼ÝPAGE_SIZEÖµ¡£¡£¡£·ÇrootÓû§µÄ¹¥»÷Õß¿ÉÒÔ·¢ËÍÓëiSCSI¹ØÁªµÄNetlinkÐÂÎÅ£¬£¬£¬£¬ £¬²¢Ê¹Æä³¤¶ÈΪNetlinkÐÂÎŵÄ×î´ó³¤¶È£¬£¬£¬£¬ £¬²¢×îÖÕ¿ÉÒÔÔÚÄ¿µÄϵͳÉÏÌáÉýȨÏÞ¡¢Ôì³ÉÐÅϢй¶»ò¾Ü¾øÐ§ÀÍ¡£¡£¡£

 

Linux kernel iSCSIÄÚºËÖ¸Õëй¶Îó²î£¨CVE-2021-27363£©

ÄÚºËÖ¸Õë×ß©¿ÉÒÔÓÃÀ´È·¶¨iscsi_transport½á¹¹µÄµØµã¡£¡£¡£µ±Ò»¸öiSCSI´«ÊäÔÚiSCSI×ÓϵͳÖÐ×¢²áʱ£¬£¬£¬£¬ £¬´«ÊäµÄ¾ä±ú¿ÉÒÔͨ¹ýsysfsÎļþϵͳÔÚ/sys/class/iscsi_transport/$TRANSPORT_NAME/handle´¦±»·ÇrootÓû§»ñÈ¡¡£¡£¡£µ±¶Áȡʱ£¬£¬£¬£¬ £¬show_transport_handleº¯Êý(ÔÚdrivers/scsi/scsi_transport_iscsi.cÖÐ)»á±»Å²Ó㬣¬£¬£¬ £¬´Ó¶øÐ¹Â¶Á˸þä±ú£¨¸Ã¾ä±úÏÖʵÉÏÊÇÄÚºËÄ£¿£¿£¿£¿£¿£¿éÈ«¾Ö±äÁ¿ÖеÄiscsi_transport½á¹¹µÄÖ¸Õ룩¡£¡£¡£

 

Linux kernel iSCSIÔ½½ç¶ÁÈ¡Îó²î£¨CVE-2021-27364£©

ÓÉÓÚdrivers/scsi/scsi_transport_iscsi.c Êܵ½·ÇrootÓû§·¢Ë͵ĶñÒâ Netlink ÐÂÎŵÄÓ°Ï죬£¬£¬£¬ £¬iSCSIÖб£´æÔ½½ç¶ÁÈ¡Îó²î¡£¡£¡£¹¥»÷Õß¿ÉÒÔʹÓøÃÎó²îÔì³ÉÐÅϢй¶»ò¾Ü¾øÐ§ÀÍ¡£¡£¡£

 

Ó°Ïì¹æÄ£

ËùÓÐÒѼÓÔØscsi_transport_iscsiÄÚºËÄ£¿£¿£¿£¿£¿£¿éµÄLinux¿¯Ðаæ

 

0x02 ´¦Öóͷ£½¨Òé

ÏÖÔÚÕâЩÎó²î¾ùÒÑÔÚ5.11.4¡¢5.10.21¡¢5.4.103¡¢4.19.179¡¢4.14.224¡¢4.9.260ºÍ4.4.260ÖÐÐÞ¸´£¬£¬£¬£¬ £¬²¢ÇÒÐÞ¸´³ÌÐòÒÑÓÚ3ÔÂ7ÈÕÔÚÖ÷ÏßLinuxÄÚºËÖÐÌṩ¡£¡£¡£¹ØÓÚEOL²»Ö§³ÖµÄÄں˰汾£¨Èç3.xºÍ2.6.23£©£¬£¬£¬£¬ £¬½«²»»áÐû²¼Èκβ¹¶¡¡£¡£¡£

ÏÂÔØÁ´½Ó£º

https://www.kernel.org/

 

0x03 ²Î¿¼Á´½Ó

https://blog.grimm-co.com/2021/03/new-old-bugs-in-linux-kernel.html

https://www.bleepingcomputer.com/news/security/15-year-old-linux-kernel-bugs-let-attackers-gain-root-privileges/

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

 

0x04 ʱ¼äÏß

2021-03-12  GRIMMÅû¶Îó²î

2021-03-15  VSRCÐû²¼Ç徲ͨ¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö±ê×¼¹ÙÍø£ºhttp://www.first.org/cvss/

image.png