1

近期,一个在Linux内核(The Linux Kernel)中存在了5年之久的严重漏洞被修复

信息一览

  • 编号: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)

相关文章


SegmentFault原创整理,转载请遵守本站相关声明。
创作与编辑责任:沙渺


沙渺
21.8k 声望1.1k 粉丝

1998年入行,普通的电脑老玩家。Web、嵌入式Linux和电子产品设计研究者。


引用和评论

0 条评论