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
目录
相关文章
|
11天前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
16天前
|
安全 算法 网络协议
探索Linux操作系统的内核管理
【5月更文挑战第31天】本文将深入探讨Linux操作系统的内核管理机制,包括其设计原则、主要组件以及它们如何协同工作以提供高效的系统性能。通过分析Linux内核的关键特性和功能,我们将揭示这一开源操作系统如何在各种计算环境中保持其稳定性和灵活性。
|
17天前
|
机器学习/深度学习 人工智能 负载均衡
深度解析:Linux内核调度策略的演变与优化
【5月更文挑战第30天】 随着计算技术的不断进步,操作系统的性能调优成为了提升计算机系统效率的关键。在众多操作系统中,Linux因其开源和高度可定制性而备受青睐。本文将深入剖析Linux操作系统的内核调度策略,追溯其历史演变过程,并重点探讨近年来为适应多核处理器和实时性要求而产生的调度策略优化。通过分析比较不同的调度算法,如CFS(完全公平调度器)、实时调度类和批处理作业的调度需求,本文旨在为系统管理员和开发者提供对Linux调度机制深层次理解,同时指出未来可能的发展趋势。
|
27天前
|
算法 安全 Linux
探索Linux内核的虚拟内存管理
【5月更文挑战第20天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分之一——虚拟内存管理。通过剖析其关键组件和运作机制,揭示虚拟内存如何提供高效的内存抽象,支持庞大的地址空间,以及实现内存保护和共享。文章将重点讨论分页机制、虚拟内存区域(VMAs)的管理、页面置换算法,并简要分析这些技术是如何支撑起现代操作系统复杂而多变的内存需求的。
|
5天前
|
Linux 编译器 C语言
编译Linux内核:基础、重要性和交叉编译方法
Linux内核作为操作系统的心脏,负责管理计算机的硬件资源,同时也是运行所有其他程序的基础。理解如何编译Linux内核对于系统管理员、开发者乃至高级用户来说都是一项极其宝贵的技能。本文将介绍编译Linux内核的基本知识、编译的重要性、具体步骤以及交叉编译的概念。
14 0
|
10天前
|
运维 NoSQL Ubuntu
深入理解Linux中的"crash"命令:内核崩溃的调试利器
`crash`是Linux内核崩溃调试工具,用于分析内核崩溃转储文件,提供GDB-like的交互式CLI。通过加载`vmcore`文件和内核映像,管理员可以查看系统状态、调用栈、内存布局等。安装`crash`可使用包管理器,如`apt-get`或`yum/dnf`。尽管有学习曲线且依赖转储文件,但`crash`在系统故障排查中极其重要。
|
17天前
|
Linux
探索Linux操作系统的内核模块
本文将深入探讨Linux操作系统的核心组成部分——内核模块,揭示其背后的工作机制和实现方式。我们将从内核模块的定义开始,逐步解析其加载、卸载以及与操作系统其他部分的交互过程,最后探讨内核模块在系统性能优化中的关键作用。
|
18天前
|
缓存 算法 安全
探索Linux内核的虚拟内存管理
【5月更文挑战第29天】 在现代操作系统中,虚拟内存是支持多任务处理和内存保护的关键组件。本文深入分析了Linux操作系统中的虚拟内存管理机制,包括其地址空间布局、分页系统以及内存分配策略。我们将探讨虚拟内存如何允许多个进程独立地访问它们自己的地址空间,同时由操作系统管理物理内存资源。此外,文章还将涉及虚拟内存所带来的性能影响及其优化方法。
|
19天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【5月更文挑战第29天】 在现代操作系统中,尤其是类Unix系统如Linux中,进程调度机制是保证多任务高效运行的核心。本文将深入探讨Linux操作系统内核的进程调度器——负责管理CPU资源分配的关键组件。我们会详细分析其调度策略、调度器的演进及其在多核处理器环境下的表现。通过剖析进程调度器的工作原理和设计哲学,旨在为读者提供一个清晰的视角来理解这一复杂的系统功能。
24 0
|
25天前
|
存储 算法 Linux
【Linux】程序地址空间 -- 详解 & Linux 2.6 内核进程调度队列 -- 了解
【Linux】程序地址空间 -- 详解 & Linux 2.6 内核进程调度队列 -- 了解