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

19 октября 2016 года в ядре Linux была обнаружена опасная уязвимость, которая получила название Dirty COW. Проблема в ядре возникает из-за состояния гонки при обработке механизма копирования при записи (copy-on-write, COW). Уязвимость Dirty COW существует в ядре как минимум с 2007 года, начиная с версии ядра 2.6.22 – следовательно, ей подвержено огромное количество серверов.

Баг Dirty COW позволяет обычному неавторизованному локальному пользователю получить доступ на запись к любому файлу, если у него есть право на чтение этого файла. Следовательно, обычный пользователь может повысить свои привилегии в системе.

Примечание: Подробную информацию об уязвимости CVE-2016-5195 можно найти на сайтах CanonicalRed Hat и Debian.

К счастью, большинство основных дистрибутивов уже выпустили плагины для этого бага. Если же вы используете более старые версии систем, плагины для которых ещё не вышли, данное руководство поможет вам исправить уязвимость.

Проверка сервера на уязвимость

Серверы 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, используйте этот сценаарий, разработанный компанией RedHat. Загрузите сценарий на сервер:

wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

Запустите bash:

bash rh-cve-2016-5195_1.sh

Если сервер уязвим, сценарий вернёт такой результат:

Your 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

Обновите индекс пакетов и систему с помощью команды:

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

После этого перезапустите сервер:

sudo reboot

Серверы CentOS

На данный момент команда Red Hat работает над плагином для этого бага. Инструкции по устранению уязвимости на серверах CentOS появятся немного позже. Пока что вы можете обойти уязвимость (все инструкции можно найти по этой ссылке).

Заключение

Обязательно обновите серверы Linux, чтобы предотвратить эксплуатацию уязвимости.

Tags: ,

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