CVE-2023-0266

Linux Kernel

ВЕРОЯТНОСТЬ 0.1%

Дата обнаружения

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 и более поздних).

  1. Обновите списки пакетов репозитория:
sudo apt update

  1. Установите последние доступные обновления ядра:
sudo apt upgrade linux-image-generic

  1. Перезагрузите систему для применения изменений:
sudo reboot

  1. Проверьте версию ядра после перезагрузки (убедитесь, что она выше уязвимых версий):
uname -r

Временные меры

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

  1. Отключите возможность загрузки модуля snd-pcm, если звуковые функции не являются критически важными для работы сервера:
echo "install snd-pcm /bin/true" | sudo tee /etc/modprobe.d/blacklist-snd-pcm.conf

  1. Выгрузите модуль из оперативной памяти (если он не используется в данный момент):
sudo modprobe -r snd-pcm

  1. Ограничьте доступ к устройствам управления звуком (ALSA control devices) для обычных пользователей, изменив права доступа к файлам в /dev/snd/:
sudo chmod 600 /dev/snd/controlC*

  1. В качестве дополнительной меры защиты (Defense in Depth) рекомендуется ограничить использование пользовательских пространств имен (User Namespaces), которые часто используются в цепочках эксплойтов для обхода ограничений:
sudo sysctl -w kernel.unprivileged_userns_clone=0