Linux内核存在缺陷发行陷困境

简介:

Linux内核已经修复了本地特权esclation缺陷,但是几个上游分发版本例如Red Hat,Canonical和Debian发行版尚未发布更新。管理员应计划减轻Linux服务器和工作站本身的漏洞,并监控其更新计划的发布。

内核缺陷仍存在

在Linux内核4.10.1(CVE-2017-2636)的n_hdlc驱动程序(drivers / tty / n_hdlc.c)中的竞争条件缺陷可能导致在访问n_hdlc.tbuf时n_hdlc_release()出现双重错误,这是俄罗斯的技术研究员Alexander Popov发现和报告的缺陷。本地无特权用户能够在tty设备上设置HDLC线路规则,从而利用此缺陷获得受影响系统的更多权限或导致拒绝服务条件。

该漏洞在常见漏洞评分系统(CVSS)3.0下的基本分数为7.8,不需要由任何用户交互触发,攻击复杂性被认为较低,利用这个缺陷不需要在目标系统中攻击专门的硬件或外设。在CVSS下,该漏洞被视为具有较高严重性。

该补丁已于2月28日发送到Linux内核,并且新版本的内核在3月7日已经发布了,所有版本的Linux内核(直到4.10.1)都被视为有漏洞。

该漏洞将影响Linux服务器和工作站以及虚拟机,但大多数容器不受影响。开源安全公司Black Duck Software的Patrick Carey说,由于Docker上的ioctl设置,这个问题不会在容器内执行。显然,如果你有权访问容器主机,一切只能听天由命了。

等待补丁

红帽已将此问题评为“高”严重性,并承诺在将来的更新中会修复该错误。该问题影响Red Hat Enterprise MRG 2附带的实时内核包,Red Hat Enterprise Linux 7附带的kernel-rt包以及Red Hat Enterprise Linux 5/6/7中的内核包,它不影响Red Hat Enterprise Linux 5附带的Linux内核包。

Canonical也将这个问题评为高严重性,因为所有Ubuntu版本都会受到影响,公司已经发布了针对Ubuntu Linux 12.04 LTS,14.04 LTS,Ubuntu 16.04 LTS(Xenial Xerus) 和Ubuntu 16.10(Yakket Yak)的修补程序。Ubuntu Core 15.04和Ubuntu Linux 17.04(Zesty Zapus)的更新仍在等待中。 Canonical已经更新了一些内核包,例如linux-ti-omap4包(用于12.04 LTS)和linux-gke(16.04 LTS),但不计划更新其他包,例如linux-maguro包(用于14.04 LTS)。修复仍然需要纳入一些其他软件包如对应14.04 LTS的linux-lts-vivid 和17.04的linux-rapi2。管理员应参考Canonical的完整列表以确定其内核和分发状态。

用于sparc,s / 390,powerpc,mips,ia-64,ua-32,arm,amd64的各种Debian Linux 6.0软件包,Debian wheezy 3.2.78-1,jessie 3.16.39-1中的Linux内核, .13-1是比较脆弱的。 最新版本的Debian jessie,3.16.39-1 + deb8u2和wheezy,3.2.86-1已经有固定的内核模块。

Linux管理员应该做些什么呢?

在更新的内核可用之前,Linux管理员可以通过手动防止内核加载来缓解此漏洞。Then_hdlc内核模块通常会在应用程序尝试从用户空间使用HDLC线路规则时自动加载,但可以使用系统范围的modprob规则阻止。以root身份运行

 
 
  1. #echo“install n_hdlc / bin / true”>> /etc/modprobe.d/disable-n_hdlc.conf 

将防止意外或有意加载模块。如果n_hdlc模块已加载,则需要重新启动系统。红帽产品安全方面认为,这是一个防止意外加载模块的可靠方法。

在内核配置中具有CONFIG_N_HDLC = m的Linux发行版都可能受到影响,因为它使用易受攻击的驱动程序。Popov在使用无监督的Linux系统调用fuzzing工具syzkaller调查可疑内核崩溃时发现了该错误。 该漏洞与以下事实有关:n_hdlc使用自制的单链表作为数据缓冲区,并使用n_hdlc.tbuf指针在发生错误后重新发送缓冲区。如果数据缓冲区由于某些原因无法发送,则地址将保存在n_hdlc.tbuf中,缓冲区是下一次调用hdlc_send_frames()时首次发送的。flux_tx_queue()和hdlc_send_frames()会将缓冲区放入tx_free_buf_list两次,导致双重错误。

该漏洞存在于广泛使用的开放源代码组件中,但社区和组织也在积极解决安全问题,广大Linux用户更要密切关注Linux内核的修复情况。





本文作者:佚名
来源:51CTO
目录
相关文章
|
4天前
|
存储 NoSQL Linux
深度探索Linux操作系统 —— 从内核空间到用户空间3
深度探索Linux操作系统 —— 从内核空间到用户空间
20 9
|
4天前
|
存储 NoSQL Linux
深度探索Linux操作系统 —— 从内核空间到用户空间2
深度探索Linux操作系统 —— 从内核空间到用户空间
18 7
|
4天前
|
Linux Shell 编译器
深度探索Linux操作系统 —— 构建内核
深度探索Linux操作系统 —— 构建内核
10 5
|
4天前
|
存储 安全 Linux
深度探索Linux操作系统 —— 从内核空间到用户空间1
深度探索Linux操作系统 —— 从内核空间到用户空间
19 4
|
3天前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
9 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
3天前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
33 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
3天前
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
19 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
|
3天前
|
NoSQL Linux 编译器
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
如何配置环境并使用QEMU虚拟机结合GDB进行Linux内核代码的断点调试,包括安装QEMU、交叉编译工具链,编译内核以及通过GDB远程连接进行调试的详细步骤。
10 0
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
|
3天前
|
Linux API 调度
重温Linux内核:互斥和同步
本文全面回顾了Linux内核中的互斥和同步机制,包括中断屏蔽、原子变量、自旋锁、读写锁、顺序锁、信号量、互斥量、RCU机制以及完成量等,提供了它们的定义、实现原理、API用法和使用时的注意事项。
14 0
|
3天前
|
Linux 调度
Linux内核的基础设施:工作队列、等待队列
本文介绍了Linux内核中的工作队列和等待队列机制,通过一个具体的Demo演示了如何使用等待队列进行条件等待和唤醒,以及工作队列的创建和调度,同时展示了修改唤醒条件导致无法唤醒进程的情况。
10 0
下一篇
云函数