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

linux内核 漏洞扫描,Linux kernel中存在15年的漏洞相关推荐

  1. linux内核精髓:精通linux内核必会的75个绝技,Linux内核精髓精通Linux内核必会的75个绝技 PDF 高清扫描版...

    经过近20年的发展,Linux操作系统已经成为当今最成功的开源软件之一,使用广泛,影响深远.随着Linux操作系统功能的不断丰富和完善,Linux内核的源代码也从最初的几万行增加到如今的数百万行,庞大 ...

  2. 手机linux内核版本了解,Linux内核版本介绍与查询

    Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息 ...

  3. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

    文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...

  4. 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 )

    文章目录 一.下载 Linux 内核 1.下载最新版本 Linux 内核 2.下载指定版本 Linux 内核 二.Linux 内核版本号含义 一.下载 Linux 内核 1.下载最新版本 Linux ...

  5. 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)

    1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序.其中 Bootloader是系统启 ...

  6. 编译Linux内核没有zImage,Linux 编译系统的简单介绍与内核编译安装

    这里不只是讲怎样编译.安装Linux内核的,更主要的是介绍内核的编译系统和各个重要的文件.最后还利用学到的编译.安装Linux内核去修改Linux的01调度变成随机调度.如果你只是需要编译.安装内核的 ...

  7. linux的头文件下载,Linux内核头文件(linux headers)

    更新 Linux 内核头文件(linux headers) 三 8th, 2013 2,474 views | 发表评论 | Trackback 一般来说,如果不是自己编译 kernel,那么更新头文 ...

  8. Linux 内核及 GNU/Linux 操作系统的基本体系结构

    1. Linux 内核简介 内核:在计算机科学中是一个用来管理软件发出的数据 I/O(输入与输出)要求的计算机程序,将这些要求转 译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行 ...

  9. 2021-10-16python笔记(Linux内核简介与Linux基础命令)

    前面的博文已经教会了大家如何下载和安装Linux操作系统,并且使用Xshell软件远程连接Linux服务器,这节课我们要进入真正的Linux基础学习中. 知识点概括: 1.Linux的心脏-Linux ...

最新文章

  1. Facade模式——设计模式学习笔记
  2. YbtOJ#482-爬上山顶【凸壳,链表】
  3. easyexcel导出百万级数据_百万级别数据Excel导出优化
  4. Linux socket多进程服务器框架二
  5. SAP License:关于MRP产生的采购申请检查、与采购部的衔接处理
  6. 【难点+重点BFS】LeetCode 126. Word Ladder II
  7. 华中农业大学第五届程序设计大赛 (7/12)
  8. 虚幻引擎5安装踩坑记录
  9. PingCAP,中国第一只开源独角兽总融资达3.4亿美元,不能错过的开源深度解析
  10. 物联网需要php和嵌入式吗,物联网与嵌入式两者是什么关系
  11. idb 怎么回复mysql_MySql数据库通过idb和frm恢复
  12. ada:世界上第一位程序员
  13. 汉诺塔(内部+伪图形)
  14. ubuntu 系统狠慢 或者很卡的原因
  15. PhpMyAdmin漏洞介绍
  16. 单侧游离端缺失设计图_单侧游离端附着体义齿的应力中断设计及其力学传导分析...
  17. 薄荷英语-day20-20180428-30
  18. 喜大普奔——Mapbox GL JS支持多种投影了
  19. 不得不吐槽一下《IOS开发指南》关东升
  20. 基于java+SSM+校园BBS论坛项目(附源码+文档+PPT)

热门文章

  1. 新一代組合創新架構師_學習地圖
  2. CentOS6.5 keepalived详解及实现Nginx服务的高可用性
  3. [转发] 【GRT安智网】HTC安致手机ROM国内首个中文定制教程goapk首发[最新厨房V0......
  4. 对四象限法则的一点思考
  5. 三层交换解决了VLAN之间的通信问题
  6. VS2013安装OpenCV4.1版本并搭建一个小程序
  7. 发布webservice之后调用不通
  8. Linux链接库二(动态库,静态库,库命名规则,建立个没有版本号的软连接文件)...
  9. 对commonMark.js的理解学习
  10. 一年的收益就是60% 熊市也能做到 股票花荣实战系统