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

Временное решение

Если немедленное обновление невозможно, строго ограничьте доступ к системе.

  1. Ограничьте доступ по SSH: Настройте sshd_config на разрешение подключений только с доверенных IP-адресов и только для ключевых пользователей. bash # /etc/ssh/sshd_config AllowUsers trusted_admin_user@trusted_ip PermitRootLogin no После изменения конфига перезапустите службу: sudo systemctl restart sshd.

  2. Минимизируйте количество локальных пользователей: Отключите или удалите все ненужные учетные записи. Проверьте, чтобы у обычных пользователей не было избыточных привилегий (например, членства в группах sudo, wheel).

  3. Мониторинг и аудит: Включите и регулярно проверяйте логи аудита на предмет подозрительных действий, связанных с записью в защищенные файлы. 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.

Важно: Эти меры лишь усложняют эксплуатацию, но не устраняют саму уязвимость. Обновление ядра — обязательный и первоочередной шаг.