CVE-2023-0266
Linux Kernel
2023-03-30
Linux kernel contains a use-after-free vulnerability that allows for privilege escalation to gain ring0 access from the system user.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-0266 представляет собой уязвимость типа Use-After-Free (использование памяти после освобождения) в подсистеме ALSA (Advanced Linux Sound Architecture) ядра Linux, а именно в модуле snd-pcm.
Проблема локализована в функции snd_ctl_elem_user_tlv, где отсутствует надлежащая блокировка при обработке пользовательских элементов управления. Это позволяет локальному пользователю спровоцировать состояние гонки (race condition), добиться доступа к освобожденному участку памяти и перезаписать указатели ядра. Эксплуатация данной уязвимости приводит к локальному повышению привилегий (LPE) до уровня root (ring0).
Как исправить
Основным и наиболее надежным способом устранения уязвимости является обновление ядра Linux до версии, в которой присутствует соответствующий патч (исправлено в ветках 6.2, 6.1.7, 5.15.89, 5.10.164 и более поздних).
- Обновите списки пакетов репозитория:
sudo apt update
- Установите последние доступные обновления ядра:
sudo apt upgrade linux-image-generic
- Перезагрузите систему для применения изменений:
sudo reboot
- Проверьте версию ядра после перезагрузки (убедитесь, что она выше уязвимых версий):
uname -r
Временные меры
Если немедленное обновление ядра и перезагрузка невозможны, необходимо ограничить доступ к функционалу, который использует уязвимый код.
- Отключите возможность загрузки модуля
snd-pcm, если звуковые функции не являются критически важными для работы сервера:
echo "install snd-pcm /bin/true" | sudo tee /etc/modprobe.d/blacklist-snd-pcm.conf
- Выгрузите модуль из оперативной памяти (если он не используется в данный момент):
sudo modprobe -r snd-pcm
- Ограничьте доступ к устройствам управления звуком (ALSA control devices) для обычных пользователей, изменив права доступа к файлам в
/dev/snd/:
sudo chmod 600 /dev/snd/controlC*
- В качестве дополнительной меры защиты (Defense in Depth) рекомендуется ограничить использование пользовательских пространств имен (User Namespaces), которые часто используются в цепочках эксплойтов для обхода ограничений:
sudo sysctl -w kernel.unprivileged_userns_clone=0