信息一览
- 编号: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)
相关文章
- CVE-2014-0196:CVE公众漏洞信息库的官方登记
- commit #4291086 @ GitHub:torvalds/linux:此漏洞在Linux源代码库中的修正提交
cve-2014-0196-md.c
:使用此漏洞的概念攻击代码