介绍
2016 年 10 月 19 日,Linux 内核中出现了一种特权升级漏洞,该漏洞被称为 Dirty COW,因为其潜在问题是内核处理 copy-on-writing(COW)的方式的一种竞争条件。
利用此错误意味着您的服务器上的常规,无特权用户可以获得可读的任何文件的写入,因此可以增加系统上的权限。
幸运的是,大多数主要的发行版已经发布了一项修复。DigitalOcean上的所有基图像都更新了,包括了修补的内核版本,所以您创建的未来Dropplets将不需要更新。
检查脆弱性
Ubuntu 和 Debian
要确定您的服务器是否受到影响,请检查您的内核版本。
1uname -rv
你会看到这样的输出:
1[secondary_label Output]
24.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016
如果您的版本早于下列版本,您会受到影响:
- 4.8.0-26.28 for Ubuntu 16.10 4.4.0-45.66* for Ubuntu 16.04 LTS
- 3.13.0-100.147 for Ubuntu 14.04 LTS
- 3.2.0-113.155 for Ubuntu 12.04 LTS
- 3.16.36-1+deb8u2 for Debian 8
- 3.2.82-1 for Debian 7
- 4.7.8-1 for Debian unstable
百度
某些版本的 CentOS 可以使用 此脚本由 RedHat for RHEL 提供来测试您的服务器的漏洞。
1wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh
然后用bash
运行它。
1bash rh-cve-2016-5195_1.sh
如果你是脆弱的,你会看到这样的输出:
1[secondary_label Output]
2Your kernel is 3.10.0-327.36.1.el7.x86_64 which IS vulnerable.
3Red Hat recommends that you update your kernel. Alternatively, you can apply partial
4mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .
修复脆弱性
幸运的是,应用修复很简单:更新您的系统并重新启动您的服务器。
在Ubuntu和Debian上,使用apt-get
升级您的软件包。
1sudo apt-get update && sudo apt-get dist-upgrade
您可以在 CentOS 5, 6 和 7 上更新所有软件包,但如果您只想更新内核以解决此问题,请运行:
1sudo yum update kernel
在具有外部内核管理的较旧 Droplets 上,您还需要选择 DigitalOcean GrubLoader 内核。 要做到这一点,请前往 控制面板,点击您想要更新的服务器。 然后,在左侧菜单中点击 Kernel,然后选择 GrubLoader 内核。 您可以在 此内核管理教程中了解有关更新您的 Droplet 内核的更多信息。
最后,在所有发行版中,您需要重新启动服务器来应用这些更改。
1sudo reboot
结论
请确保更新您的Linux服务器,以免受到这个特权升级错误的保护。