如何修补和保护Linux内核零日漏洞CVE-2015-0728 [19/Jan/2015]
时间:2020-01-09 10:41:25 来源:igfitidea点击:
在Linux内核中发现了一个非常严重的安全问题。
自2012年以来,存在一个0天的本地特权升级漏洞。
此错误影响数百万个Android或Linux应用程序升级特权。
"使用Linux内核3.8+版本的任何服务器或台式机(32或64位)都容易受到攻击"。
我该如何解决这个问题?
什么是CVE-2015-0728错误?
CVE-2015-0728是由密钥环设施中的参考泄漏引起的。
在深入研究细节之前,让我们介绍一下了解该错误所需的一些背景知识。
它可以成功地将特权从本地用户升级到root用户。
受影响的Linux发行版列表
我的Linux发行版受CVE-2015-0728影响吗?
密钥环工具CVE-2015-0728中的可能的"售后使用"漏洞如下:
- 红帽企业Linux 7
- CentOS Linux 7
- Scientific Linux 7
- Debian Linux稳定版8.x(jessie)
- Debian Linux测试9.x(拉伸)
- SUSE Linux Enterprise Desktop 12
- SUSE Linux Enterprise Desktop 12 SP1
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 12 SP1
- SUSE Linux Enterprise Workstation扩展12
- SUSE Linux Enterprise Workstation Extension 12 SP1
- Ubuntu Linux 14.04 LTS(Trusty Tahr)
- Ubuntu Linux 15.04(生动的Vervet)
- Ubuntu Linux 15.10(Wily Werewolf)
- Opensuse Linux LEAP 42.x和版本13.x
- Oracle Linux 7
如何在Linux上修复CVE-2015-0728?
根据您的Linux发行版执行命令。
您需要重新启动服务器。
应用补丁程序之前,请记下当前的内核版本:
$ uname -a $ uname -mrs
输出示例:
Linux 3.13.0-74-generic x86_64
Debian或Ubuntu Linux
$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
重新启动服务器:
$ sudo reboot
RHEL/CentOS Linux
$ sudo yum update $ sudo reboot
Suse Enterprise Linux或Opensuse Linux
要将所有必需的补丁程序应用到系统类型:
# zypper patch # reboot
或特定于版本的信息:
SUSE Linux Enterprise Workstation扩展12-SP1
# zypper in -t patch SUSE-SLE-WE-12-SP1-2015-124=1
USE Linux企业软件开发套件12-SP1
# zypper in -t patch SUSE-SLE-SDK-12-SP1-2015-124=1
SUSE Linux Enterprise Server 12-SP1
# zypper in -t patch SUSE-SLE-SERVER-12-SP1-2015-124=1
适用于公共云的SUSE Linux Enterprise Module 12
# zypper in -t patch SUSE-SLE-Module-Public-Cloud-12-2015-124=1
SUSE Linux Enterprise Live Patching 12
# zypper in -t patch SUSE-SLE-Live-Patching-12-2015-124=1
SUSE Linux Enterprise Desktop 12-SP1
# zypper in -t patch SUSE-SLE-DESKTOP-12-SP1-2015-124=1
要使您的系统最新,请运行
# zypper patch && reboot
验证
您需要确保您的版本号已更改:
$ uname -a $ uname -r $ uname -mrs
可以使用uname命令确认系统正在运行的内核版本。
错误固定内核版本的列表如下:
- Ubuntu Linux 14.04 LTS:
3.13.0-76
(软件包版本3.13.0-76.120) - Debian Linux 8.x:
3.16.0-4
(软件包版本3.16.7-ckt20-1 + deb8u3) - SUSE Linux Enterprise Server 12 SP1:
3.12.51-60.25.1
- RHEL 7:
3.10.0-327.4.5.el7.x86_64
- CentOS 7:与RHEL 7相同。
试用漏洞利用代码
您可以尝试使用概念验证代码来确定您的内核是否安全。
使用wget命令获取示例代码:
$ wget https://gist.githubusercontent.com/PerceptionPointTeam/18b1e86d1c0f8531ff8f/raw/5a90e6f98de85f35708087620de73bed3bf16880/cve_2015_0728.c
如下编译(确保安装了gcc编译器和keyutils开发人员库):
$ gcc cve_2015_0728.c -o cve_2015_0728 -lkeyutils -Wall
如下运行:
$ ./cve_2015_0728 PP_KEY
在内核上运行的完整漏洞利用程序,在Intel Core i7-5500 CPU上运行大约需要30分钟,
但是,在修补的系统上,利用将失败。