Устранение уязвимости Dirty COW на сервере Linux
Centos, Debian, Linux, Ubuntu | Комментировать запись
19 октября 2016 года в ядре Linux была обнаружена опасная уязвимость, которая получила название Dirty COW. Проблема в ядре возникает из-за состояния гонки при обработке механизма копирования при записи (copy-on-write, COW). Уязвимость Dirty COW существует в ядре как минимум с 2007 года, начиная с версии ядра 2.6.22 – следовательно, ей подвержено огромное количество серверов.
Баг Dirty COW позволяет обычному неавторизованному локальному пользователю получить доступ на запись к любому файлу, если у него есть право на чтение этого файла. Следовательно, обычный пользователь может повысить свои привилегии в системе.
Примечание: Подробную информацию об уязвимости CVE-2016-5195 можно найти на сайтах Canonical, Red 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: Dirty COW, Linux