CVE-2014-0196:躲藏5年之久的Linux内核严重安全漏洞被修复

简介: 信息一览编号:CVE-2014-0196漏洞类型:缓冲区溢出漏洞漏洞引入:Linux 2.6.31-rc3 (2009)影响的版本:2.6.31-rc3 — 3.14.3影响的部分:伪tty设备漏洞修正:Linux 3.14.4

信息一览

  • 编号:CVE-2014-0196
  • 漏洞类型:缓冲区溢出漏洞
  • 漏洞引入:Linux 2.6.31-rc3 (2009)
  • 影响的版本:2.6.31-rc3 — 3.14.3
  • 影响的部分:伪tty设备
  • 漏洞修正:Linux 3.14.4

这个漏洞通过引发伪tty设备的n_tty_write()函数内存溢出,可以:

  • 引发内核崩溃
  • 有机会允许普通用户获得系统特权

已经有测试代码证实,使用此漏洞可以让能够操作shell的普通用户,以如下的过程无条件使用root权限:

/*

* CVE-2014-0196: Linux kernel <= v3.15-rc4: raw mode PTY local echo race

* condition

*

* Slightly-less-than-POC privilege escalation exploit

* For kernels >= v3.14-rc1

*

* Matthew Daley <mattd@bugfuzz.com>

*

* Usage:

*   $ gcc cve-2014-0196-md.c -lutil -lpthread

*   $ ./a.out

*   [+] Resolving symbols

*   [+] Resolved commit_creds: 0xffffffff81056694

*   [+] Resolved prepare_kernel_cred: 0xffffffff810568a7

*   [+] Doing once-off allocations

*   [+] Attempting to overflow into a tty_struct...............

*   [+] Got it :)

*   # id

*   uid=0(root) gid=0(root) groups=0(root)

漏洞修复

此漏洞在5月13日发布的3.14.3版本内核中被修复。其他LTS长期支持的旧版内核也已陆续发布相关补丁。Red Hat、Ubuntu和Debian也已经陆续发布安全性更新应用内核补丁。

安全研究员Dan Rosenberg说它是过去一年发现的第一个权限提升漏洞,表示此类严重的漏洞每隔几年才会出现一个。

我们希望如果服务器有以下状况,则请服务器管理员务必万分重视此漏洞:

  • 允许用户使用Shell或Cron(例如cPanel等虚拟主机应用)
  • 允许用户编译执行自定义程序(例如Online Judge等应用)
  • 多用户隔离共享服务器,但用户不能各自自主升级内核(例如OpenVZ)


相关文章


相关文章
|
1月前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
10天前
|
Linux API 调度
技术笔记:Linux内核跟踪和性能分析
技术笔记:Linux内核跟踪和性能分析
|
19天前
|
Linux
查看linux内核版本
在Linux中查看内核版本可使用`uname -r`、`cat /proc/version`、`lsb_release -a`(若安装LSB)、`/etc/*release`或`/etc/*version`文件、`dmesg | grep Linux`、`cat /sys/class/dmi/id/product_name`、`hostnamectl`、`kernrelease`(如果支持)、`rpm -q kernel`(RPM系统)和`dpkg -l linux-image-*`(Debian系统)。
28 4
|
20天前
|
安全 Linux 数据处理
探索Linux的kmod命令:管理内核模块的利器
`kmod`是Linux下管理内核模块的工具,用于加载、卸载和管理模块及其依赖。使用`kmod load`来加载模块,`kmod remove`卸载模块,`kmod list`查看已加载模块,`kmod alias`显示模块别名。注意需有root权限,且要考虑依赖关系和版本兼容性。最佳实践包括备份、查阅文档和使用额外的管理工具。
|
2天前
|
Linux 调度
部署03---Linux操作系统的诞生,Linux操作系统由系统的内核和系统的操作系统所组成
部署03---Linux操作系统的诞生,Linux操作系统由系统的内核和系统的操作系统所组成
|
1月前
|
运维 NoSQL Ubuntu
深入理解Linux中的"crash"命令:内核崩溃的调试利器
`crash`是Linux内核崩溃调试工具,用于分析内核崩溃转储文件,提供GDB-like的交互式CLI。通过加载`vmcore`文件和内核映像,管理员可以查看系统状态、调用栈、内存布局等。安装`crash`可使用包管理器,如`apt-get`或`yum/dnf`。尽管有学习曲线且依赖转储文件,但`crash`在系统故障排查中极其重要。
|
26天前
|
Linux 编译器 C语言
编译Linux内核:基础、重要性和交叉编译方法
Linux内核作为操作系统的心脏,负责管理计算机的硬件资源,同时也是运行所有其他程序的基础。理解如何编译Linux内核对于系统管理员、开发者乃至高级用户来说都是一项极其宝贵的技能。本文将介绍编译Linux内核的基本知识、编译的重要性、具体步骤以及交叉编译的概念。
59 0
|
2月前
|
机器学习/深度学习 人工智能 负载均衡
深度解析:Linux内核调度策略的演变与优化
【5月更文挑战第30天】 随着计算技术的不断进步,操作系统的性能调优成为了提升计算机系统效率的关键。在众多操作系统中,Linux因其开源和高度可定制性而备受青睐。本文将深入剖析Linux操作系统的内核调度策略,追溯其历史演变过程,并重点探讨近年来为适应多核处理器和实时性要求而产生的调度策略优化。通过分析比较不同的调度算法,如CFS(完全公平调度器)、实时调度类和批处理作业的调度需求,本文旨在为系统管理员和开发者提供对Linux调度机制深层次理解,同时指出未来可能的发展趋势。
|
2月前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
113 8
|
8月前
|
存储 算法 Linux
探索Linux内核内存伙伴算法:优化系统性能的关键技术!
探索Linux内核内存伙伴算法:优化系统性能的关键技术!