Linux kernel iSCSI¶à¸öÇå¾²Îó²î
Ðû²¼Ê±¼ä 2021-03-150x00 Îó²î¸ÅÊö
2021Äê03ÔÂ12ÈÕ£¬£¬£¬£¬GRIMMµÄÑо¿Ö°Ô±Åû¶Linux Äں˵ÄiSCSI×ÓϵͳÖб£´æ3¸öÒÑÓÐ15ÄêÀúÊ·µÄÇå¾²Îó²î£¬£¬£¬£¬¾ßÓÐͨË×Óû§È¨ÏÞµÄÍâµØ¹¥»÷ÕßÄܹ»Ê¹ÓÃÕâЩÎó²îÈÆ¹ý³¬µÈÓû§Ä£Ê½Ö´Ðб£»£»£»£»£»£»£»¤£¨SMEP£©¡¢³¬µÈÓû§Ä£Ê½»á¼û±£»£»£»£»£»£»£»¤£¨SMAP£©ºÍÄÚºËÒ³±í¸ôÀ루 KPTI£©£¬£¬£¬£¬×îÖÕ»ñµÃLinuxϵͳÉϵÄrootÓû§È¨ÏÞ¡£¡£¡£¡£¡£¡£¡£
0x01 Îó²îÏêÇé
SCSI£¨Ð¡ÐÍÅÌËã»úϵͳ½Ó¿Ú£©ÊÇÓÃÓÚ´«ÊäÊý¾ÝµÄ±ê×¼£¬£¬£¬£¬¸ÃÊý¾Ý×î³õÊÇͨ¹ýÎïÀíµçÀ£¨ÈçÓ²ÅÌÇý¶¯Æ÷£©´«ÊäÒÔ½«ÅÌËã»úÓëÍâΧװ±¸ÅþÁ¬ÆðÀ´µÄ¡£¡£¡£¡£¡£¡£¡£SCSIÊÇÒ»¸ö¹ÅÀϵıê×¼£¬£¬£¬£¬×î³õÐû²¼ÓÚ1986Ä꣬£¬£¬£¬Ö÷ÒªÓÃÓÚЧÀÍÆ÷ÉÏ£¬£¬£¬£¬¶øiSCSIʵÖÊÉÏÊÇ»ùÓÚTCPµÄSCSI¡£¡£¡£¡£¡£¡£¡£
Ñо¿Ö°Ô±ÌåÏÖ£¬£¬£¬£¬ÕâЩÎó²î»áÓ°ÏìËùÓеÄLinux¿¯Ðа档¡£¡£¡£¡£¡£¡£Ä¬ÈÏÇéÐÎÏÂϵͳ²»»á¼ÓÔØÊÜÓ°ÏìµÄscsi_transport_iscsiÄÚºËÄ£¿£¿£¿£¿£¿£¿é£¬£¬£¬£¬µ±LinuxÄں˼ÓÔØÄ£¿£¿£¿£¿£¿£¿éʱ£¬£¬£¬£¬ÒªÃ´ÊÇÓÉÓÚ¼ì²âµ½ÐÂÓ²¼þ£¬£¬£¬£¬ÒªÃ´ÊÇÓÉÓÚÄں˺¯Êý¼ì²âµ½Ä³¸öÄ£¿£¿£¿£¿£¿£¿éɥʧ£¬£¬£¬£¬¹¥»÷Õß¿ÉÄÜ»áͨ¹ý¼ÓÔØ¸ÃÄ£¿£¿£¿£¿£¿£¿é²¢Ê¹ÓøÃÄ£¿£¿£¿£¿£¿£¿éÀ´¾ÙÐÐȨÏÞÌáÉý¡£¡£¡£¡£¡£¡£¡£Ó°ÏìÁ÷³ÌͼÈçÏ£º
±ðµÄ£¬£¬£¬£¬ÔÚ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/