Устраняем Dirty COW уязвимость в Unix/Linux

Устраняем Dirty COW уязвимость в Unix/Linux

19 октября 2016 — была раскрыта уязвимость эскалации привилегий в Linux ядре. Эксплойт, который получил название грязный корова (dirty cow) потому что основной проблемой стало условие гонки обрабатывания копирования при записи (copy-on-write или COW). Dirty cow существует уже давно — по крайней мере с 2007 года с выходом с ядра версии 2.6.22 — поэтому подавляющее большинство серверов находятся под угрозой.

Это означает, что обычный непривилегированный пользователь на сервере может получить доступ на запись к любому файлу, он может читать и следовательно, может повысить свои привилегии в ОС. Более подробную информацию можно найти в интеренете по «CVE-2016-5195» от Canonical, Red Hat и Debian.

К счастью, большинство основных дистрибутивов уже выпустили hotfix-ы.

Проверка на наличие Dirty COW уязвимости в Unix/Linux

Для Ubuntu/Debian ОС.

Чтобы узнать версию ядра, выполняем:

# uname -rv

Вы можете получить вывод как у меня:

4.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 16.04 LTS
  • 3.13.0-100.147 для Ubuntu 14.04 LTS
  • 3.2.0-113.155 для Ubuntu 12.04 LTS
  • 3.16.36-1+deb8u2 для Debian 8
  • 3.2.82-1 для Debian 7
  • 4.7.8-1 для Debian unstable

Для CentOS ОС

Некоторые версии CentOS могут использовать этот скрипт предоставленный Red Hat для RHEL, чтобы проверить уязвимость вашего сервера. Чтобы попробовать, сначала необходимо загрузить скрипт:

# cd /usr/local/src && wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

И после чего запускаем его:

# bash rh-cve-2016-5195_1.sh

Если ваш сервер заражен, то получите что-то типа следующего:

Your kernel is 3.10.0-327.36.1.el7.x86_64 which IS vulnerable.

Red Hat рекомендует обновить ядро.

Устраняем Dirty COW уязвимость в Unix/Linux

К счастью, исправление простое: нужно обновить систему и перезагрузить сервер.

В Ubuntu и Debian, обновить пакеты с помощью APT-GET:

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

Вы можете обновить все пакеты на CentOS 6/7, выполнив следующую команду:

$ sudo yum update kernel

Прямо сейчас, мы все еще ждем исправление для CentOS 5.

Наконец, во всех дистрибутивах, вам необходимо перезагрузить сервер, чтобы применить изменения:

$ sudo reboot

Вот и все, статья «Устраняем Dirty COW уязвимость в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.