简介
在2016年10月19日,公开了Linux内核中的特权升级漏洞。该bug被昵称为Dirty COW,因为底层问题是内核处理写入时复制(COW)的方式的竞争条件。Dirty COW已经存在了很长时间 - 至少自2007年以来,内核版本2.6.22 - 所以绝大多数服务器都有风险。 利用此错误意味着服务器上的普通非特权用户可以获得对他们可以读取的任何文件的写访问权限,因此可以增加他们在系统上的权限。更多信息可以从CVE-2016-5195中找到
Canonical公司 ,
Red Hat和
Debian 。 幸运的是,大多数主要发行版已经发布了一个修复。 DigitalOcean上的所有基本映像都已更新,以包含修补的内核版本,因此您创建的未来Droplets不需要更新。但是,如果您运行的是较旧的服务器,则可以按照此教程确保您受到保护。
检查漏洞
Ubuntu / Debian
要确定您的服务器是否受到影响,请检查您的内核版本。
uname -rv
你会看到这样的输出:
Output4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016
如果您的版本早于以下版本,则会受到影响:
- 4.8.0-26.28 Ubuntu 16.10
- 4.4.0-45.66 Ubuntu LTS 16.04
- 3.13.0-100.147 Ubuntu LTS 14.04
- 3.2.0-113.155 Ubuntu LTS 12.04
- 3.16.36-1 + deb8u2 Debian 8
- 3.2.82-1 Debian 7
- 4.7.8-1 Debian unstable
CentOS
CentOS的某些版本可以使用
由Red Hat提供了这个脚本RHEL测试服务器的漏洞。要尝试,首先下载脚本。
wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh
然后运行它
bash
。
bash rh-cve-2016-5195_1.sh
如果你的服务器有这个漏洞,你会看到如下输出:
OutputYour kernel is 3.10.0-327.36.1.el7.x86_64 which IS vulnerable.
Red Hat recommends that you update your kernel. Alternatively, you can apply partial
mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .
修复漏洞
幸运的是,应用该修复是直接更新您的系统并重新启动您的服务器。 在Ubuntu和Debian,使用升级包
apt-get
。
sudo apt-get update && sudo apt-get dist-upgrade
您可以更新所有的软件包在CentOS 6和7
sudo yum update
,但如果你只需要更新内核来解决这个bug,运行:
sudo yum update kernel
现在,我们仍然在等待修复为CentOS 5.在此期间,您可以使用此解决方法从Red Hat bug跟踪系统。 在使用外部内核管理的旧版Droplets上,您还需要选择DigitalOcean GrubLoader内核。要做到这一点,进入
控制面板 ,单击要更新服务器上。 然后,单击
内核在左边的菜单,并选择GrubLoader内核。 您可以了解更多关于更新Droplet的内核
这个内核的管理教程 。具有内部内核管理的较新的Droplet可以跳过这一步。 最后,在所有发行版上,您需要重新启动服务器以应用更改。
sudo reboot
结论
请务必更新您的Linux服务器,以免受此权限提升漏洞的威胁。