为 Ubuntu 32 位通用版安装 Dirty COW 修复程序

为 Ubuntu 32 位通用版安装 Dirty COW 修复程序

今天我决定按照以下步骤修补我的服务器的肮脏的 c0w 漏洞。

它运行的是 Ubuntu 12.04 LTS:

uname -rv
3.2.0-87-generic #125-Ubuntu SMP Fri Jun 19 08:25:10 UTC 2015
uname -a
Linux webdev 3.2.0-87-generic #125-Ubuntu SMP Fri Jun 19 08:25:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

因此,由于 3.2.0-113.155 之前的每个版本都受到影响,我运行了以下命令:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

一切顺利,我重新启动了:

sudo reboot

但是现在我检查我的版本,它并没有改变:

uname -rv
3.2.0-87-generic #125-Ubuntu SMP Fri Jun 19 08:25:10 UTC 2015

我是不是漏掉了什么?我仔细检查了一下,升级过程中没有出现任何错误。

根据评论/答案进行编辑

我运行sudo update-grub后得到以下信息:

Generating grub.cfg ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.2.0-87-generic
Found initrd image: /boot/initrd.img-3.2.0-87-generic
Found linux image: /boot/vmlinuz-3.2.0-86-generic
Found initrd image: /boot/initrd.img-3.2.0-86-generic
Found linux image: /boot/vmlinuz-3.2.0-85-generic
Found initrd image: /boot/initrd.img-3.2.0-85-generic
Found linux image: /boot/vmlinuz-3.2.0-84-generic
Found initrd image: /boot/initrd.img-3.2.0-84-generic
Found linux image: /boot/vmlinuz-3.2.0-83-generic
Found initrd image: /boot/initrd.img-3.2.0-83-generic
Found linux image: /boot/vmlinuz-3.2.0-82-generic
Found initrd image: /boot/initrd.img-3.2.0-82-generic
Found linux image: /boot/vmlinuz-3.2.0-80-generic
Found initrd image: /boot/initrd.img-3.2.0-80-generic
Found linux image: /boot/vmlinuz-3.2.0-79-generic
Found initrd image: /boot/initrd.img-3.2.0-79-generic
Found linux image: /boot/vmlinuz-2.6.32-38-server
Found initrd image: /boot/initrd.img-2.6.32-38-server
Found memtest86+ image: /memtest86+.bin
done

重启后仍然没有变化。

运行dpkg --get-selections | grep linux并得到:

libselinux1                                     install
linux-firmware                                  install
linux-headers-3.2.0-101                         install
linux-headers-3.2.0-101-generic                 install
linux-headers-3.2.0-102                         install
linux-headers-3.2.0-102-generic                 install
linux-headers-3.2.0-104                         install
linux-headers-3.2.0-104-generic                 install
linux-headers-3.2.0-106                         install
linux-headers-3.2.0-106-generic                 install
linux-headers-3.2.0-107                         install
linux-headers-3.2.0-107-generic                 install
linux-headers-3.2.0-109                         install
linux-headers-3.2.0-109-generic                 install
linux-headers-3.2.0-110                         install
linux-headers-3.2.0-110-generic                 install
linux-headers-3.2.0-111                         install
linux-headers-3.2.0-111-generic                 install
linux-headers-3.2.0-113                         install
linux-headers-3.2.0-113-generic                 install
linux-headers-3.2.0-86                          install
linux-headers-3.2.0-86-generic                  install
linux-headers-3.2.0-87                          install
linux-headers-3.2.0-87-generic                  install
linux-headers-3.2.0-89                          install
linux-headers-3.2.0-89-generic                  install
linux-headers-3.2.0-91                          install
linux-headers-3.2.0-91-generic                  install
linux-headers-3.2.0-92                          install
linux-headers-3.2.0-92-generic                  install
linux-headers-3.2.0-93                          install
linux-headers-3.2.0-93-generic                  install
linux-headers-3.2.0-94                          install
linux-headers-3.2.0-94-generic                  install
linux-headers-3.2.0-95                          install
linux-headers-3.2.0-95-generic                  install
linux-headers-3.2.0-96                          install
linux-headers-3.2.0-96-generic                  install
linux-headers-3.2.0-97                          install
linux-headers-3.2.0-97-generic                  install
linux-headers-3.2.0-98                          install
linux-headers-3.2.0-98-generic                  install
linux-headers-3.2.0-99                          install
linux-headers-3.2.0-99-generic                  install
linux-headers-server                            install
linux-image-2.6.32-38-server                    install
linux-image-3.2.0-79-generic                    install
linux-image-3.2.0-80-generic                    install
linux-image-3.2.0-82-generic                    install
linux-image-3.2.0-83-generic                    install
linux-image-3.2.0-84-generic                    install
linux-image-3.2.0-85-generic                    install
linux-image-3.2.0-86-generic                    install
linux-image-3.2.0-87-generic                    install
linux-libc-dev                                  install
util-linux                                      install

好像该列表中没有新的 Linux 映像。

但是,当我运行sudo apt-cache policy linux-image-generic它时,将新版本列为候选项(它是法语,但你明白的):

linux-image-generic:
  Installé : (aucun)
  Candidat : 3.2.0.113.129
 Table de version :
     3.2.0.113.129 0
        500 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
     3.2.0.23.25 0
        500 http://fr.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

答案1

好的,我终于成功升级了。

以下是我的做法。

根据罗恩对我的回答的评论,我决定运行:

sudo apt-get install linux-image-generic

由于我/boot已满,所以失败了,因此我通过运行以下命令删除了旧版本:

sudo dpkg -r linux-image-3.2.0-79-generic
sudo dpkg -r linux-image-3.2.0-80-generic
sudo dpkg -r linux-image-3.2.0-82-generic
sudo dpkg -r linux-image-3.2.0-84-generic
sudo dpkg -r linux-image-3.2.0-85-generic

之后我跑了:

sudo apt-get upgrade -f

然后重启:

sudo reboot

现在,我正在运行一个“安全”版本:

uname -rv
3.2.0-113-generic #155-Ubuntu SMP Tue Oct 18 17:53:59 UTC 2016

但是,我仍然不知道为什么运行以下命令不起作用:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

答案2

uname -rv当前的内核显示为:

3.2.0-87-generic #125-Ubuntu SMP Fri Jun 19 08:25:10 UTC 2015

日期是2015年6月19日——一岁多了!

根据这个:允许本地用户获得管理访问权限的肮脏 COW 错误是什么?您应该使用3.2.0-113我不确定您错过了多少个内核升级,但可能在 16 个月内错过很多(从 113 中减去 87 = 26)。

因为 Linux 世界中的每个人都已经听说过,所以Dirty COW你应该把版本3.2.0-113尽快。在找出内核未升级的原因之前,您可以手动安装内核。您没有使用,uname -a所以不知道您使用的是 32 位还是 64 位,但我会提供这两种系统的说明。

为 Ubuntu 32 位通用版安装 Dirty COW 修复程序

去:精确更新/i386/linux-image-3.2.0-113并选择您所在国家/地区的链接下载文件。您的浏览器可能会向您发出警告消息。在 Chrome 中,单击Keep

该文件通常会下载到您的~/Downloads目录中,但您的浏览器可由用户配置为任何位置。我们假设它是~/Downloads这样的,因此请输入以下内容:

cd ~/Downloads
sudo dpkg -i linux-image-3.2.0-113-generic_3.2.0-113.155_i386.deb
rm linux-image-3.2.0-113-generic_3.2.0-113.155_i386.deb
sudo reboot

为 Ubuntu 64 位通用版安装 Dirty COW 修复程序

去:精确更新/amd64/linux-image-3.2.0-113并选择您所在国家/地区的链接下载文件。您的浏览器可能会向您发出警告消息。在 Chrome 中,单击Keep

该文件通常会下载到您的~/Downloads目录中,但您的浏览器可由用户配置为任何位置。我们假设它是~/Downloads这样的,因此请输入以下内容:

cd ~/Downloads
sudo dpkg -i linux-image-3.2.0-113-generic_3.2.0-113.155_amd64.deb
rm linux-image-3.2.0-113-generic_3.2.0-113.155_amd64.deb
sudo reboot

重新启动后,输入uname -a以确认您使用的是内核版本3.2.0-113

答案3

运行命令后,GRUB 可能未正确更新。
执行:sudo update-grub。重新启动系统并再次检查。

如果旧内核再次启动,请检查新内核是否已安装:
执行以下命令:dpkg --get-selections | grep linux

相关内容