SCSI 定义了并行I/O 总线和数据协议来连接硬盘驱动、打印机、扫描仪、光驱、测试设备、医疗设备等外部设备到本地计算机。近日,GRIMM在Linux kernel SCSI (Small Computer System Interface,小计算机接口)组件中发现了3个安全漏洞,分别是:CVE-2021-27363、CVE-2021-27364、CVE-2021-27365。
第一个漏洞CVE-2021-27365是iSCSI 子系统中的堆缓存溢出漏洞。通过设置iSCSI string 属性为大于1页的值,然后读取该值就可以触发该漏洞。具体来说,本特权用户可以通过drivers/scsi/libiscsi.c中的helper 函数发送netlink 消息到iSCSI 子系统(drivers/scsi/scsi_transport_iscsi.c),该子系统负责设置于iSCSI 连接相关的属性,比如hostname、username等。这些属性值的大小是由netlink 消息的最大长度来限制的。由于堆溢出漏洞不确定性的本质,第一个漏洞可以用作不可靠的本地DoS。在融合了信息泄露漏洞后,该漏洞可以进一步用于本地权限提升,即攻击者利用该漏洞可以从非特权的用户账户提升权限到root。
第二个漏洞CVE-2021-27363 也是一个堆溢出漏洞,研究人员发现kernel 指针泄露可以用来确定iscsi_transport 结构的地址。第二个漏洞的影响稍微小一些,可以用于潜在的信息泄露。
第三个漏洞CVE-2021-27364 是libiscsi 模块(drivers/scsi/libiscsi.c) 中的一个越界kernel读漏洞。与第一个漏洞类似,非特权用户可以通过构造制定缓存大小的netlink 消息来触发受控的越界读操作。其中多个用户控制的值是没有经过验证的,包括前一个header的大小的计算。该漏洞可以引发数据泄露,被利用后可以触发DoS 条件。
这些漏洞自2006年开始就存在于系统中了,攻击者利用该漏洞可以从基本用户权限提升到root权限。此外,攻击者利用这些漏洞可以绕过Kernel Address Space Layout Randomization (KASLR)、Supervisor Mode Execution Protection (SMEP)、Supervisor Mode Access Prevention (SMAP)、Kernel Page-Table Isolation (KPTI)等安全特征。漏洞影响scsi_transport_iscsi kernel模块加载的所有Linux 发行版,但好消息是该模块并不是默认设置。目前,Linux已经发布了漏洞补丁更新。
漏洞PoC代码参见GitHub:https://github.com/grimm-co/NotQuite0DayFriday/tree/trunk/2021.03.12-linux-iscsi
完整技术分析参见:https://blog.grimm-co.com/2021/03/new-old-bugs-in-linux-kernel.html
本文翻译自:https://securityaffairs.co/wordpress/115565/security/linux-kernel-flaws.html如若转载,请注明原文地址。
数据表明,到2021年,三分之一的尼日利亚人会持有或使用加密资产。该分析表明,...
1.爱上你就想爱上了一盆仙人掌,随时都有可能被它刺伤。 2.世界上最痛苦的事就...
在智能的数字化时代,人们正在力求通过数字孪生技术在网络空间中构建一个与物理...
2021年在哪个方向投资,又应该把资金放在哪里?以及如何花时间并在不工作时仍然能...
央行又成立一家科技子公司 1月27日,中国人民银行旗下成方金融信息技术服务有限...
根据Financial Express最新消息,印度财政部长Anurag Singh Thakur表示,由于任...
3月29日,印度移动支付服务商MobiKwik 8.2TB 数据在暗网出售,泄露的数据涉及350...
1.原来,一个人真的会变成自己曾经最反感的样子。 2.是你让我知道,想要保护那些...
在无数个向厂商提交漏洞的日子里, 以下的场景你是否似曾相识? 被厂商白嫖:这根...
1.我赌上了一辈子的幸福,却发现原来你一直都希望我输。 2.我也曾默念一个人的...