CVE-2022-0847
Linux Kernel
2022-04-25
Linux kernel contains an improper initialization vulnerability where an unprivileged local user could escalate their privileges on the system. This vulnerability has the moniker of "Dirty Pipe."
Технический анализ и план устранения
Суть уязвимости
Уязвимость "Dirty Pipe" (CVE-2022-0847) в ядре Linux позволяет локальному непривилегированному пользователю записывать данные в произвольные файлы, доступные только для чтения, включая файлы, принадлежащие пользователю root. Это происходит из-за ошибки инициализации флагов страниц в кеше страниц ядра.
- Как это используют: Злоумышленник может перезаписать критичные системные файлы (например,
/etc/passwd, бинарные файлы SUID) или файлы других пользователей, чтобы получить привилегии root или выполнить произвольный код.
Как исправить
Основной метод — обновить ядро Linux до исправленной версии. Конкретные версии зависят от дистрибутива.
Для Debian/Ubuntu:
# Обновите список пакетов и установите последнее доступное ядро
sudo apt update
sudo apt upgrade linux-image-$(uname -r)
- Минимальная исправленная версия ядра: 5.10.102, 5.15.25, 5.16.11 или новее.
- После установки перезагрузите систему.
Для RHEL/CentOS/Rocky Linux/AlmaLinux 8:
# Обновите пакет ядра
sudo dnf update kernel
- Минимальная исправленная версия ядра: kernel-4.18.0-372.9.1.el8 или новее.
- После установки перезагрузите систему.
Для проверки текущей версии ядра:
uname -r
Временное решение
Если немедленное обновление невозможно, строго ограничьте доступ к системе.
-
Ограничьте доступ по SSH: Настройте
sshd_configна разрешение подключений только с доверенных IP-адресов и только для ключевых пользователей.bash # /etc/ssh/sshd_config AllowUsers trusted_admin_user@trusted_ip PermitRootLogin noПосле изменения конфига перезапустите службу:sudo systemctl restart sshd. -
Минимизируйте количество локальных пользователей: Отключите или удалите все ненужные учетные записи. Проверьте, чтобы у обычных пользователей не было избыточных привилегий (например, членства в группах
sudo,wheel). -
Мониторинг и аудит: Включите и регулярно проверяйте логи аудита на предмет подозрительных действий, связанных с записью в защищенные файлы.
bash # Установите и настройте auditd (если не установлен) sudo apt install auditd # для Debian/Ubuntu sudo dnf install audit # для RHEL/CentOS # Добавьте правило для мониторинга попыток записи в /etc/passwd sudo auditctl -w /etc/passwd -p wa -k critical_passwd_changeПросмотр логов:sudo ausearch -k critical_passwd_change.
Важно: Эти меры лишь усложняют эксплуатацию, но не устраняют саму уязвимость. Обновление ядра — обязательный и первоочередной шаг.