CVE-2023-0386
Linux Kernel
2025-06-17
Linux Kernel contains an improper ownership management vulnerability, where unauthorized access to the execution of the setuid file with capabilities was found in the Linux kernel’s OverlayFS subsystem in how a user copies a capable file from a nosuid mount into another mount. This uid mapping bug allows a local user to escalate their privileges on the system.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-0386 — это критическая уязвимость в подсистеме OverlayFS ядра Linux, связанная с некорректной обработкой прав владения (UID mapping) при копировании файлов.
Проблема возникает, когда локальный пользователь копирует файл с установленным флагом setuid и расширенными атрибутами (capabilities) из файловой системы, смонтированной с опцией nosuid, в другую директорию (например, в OverlayFS с правами записи). Из-за ошибки в логике ядра, при копировании "вверх" (copy-up) внутри OverlayFS, проверка nosuid игнорируется, что позволяет сохранить привилегии setuid. В результате злоумышленник может создать исполняемый файл, который при запуске предоставит ему права суперпользователя (root).
Как исправить
Основным и наиболее надежным способом устранения уязвимости является обновление ядра Linux до версии, в которой исправлена ошибка в модуле OverlayFS.
- Обновите индекс пакетов:
sudo apt update
- Установите последние обновления безопасности для ядра:
sudo apt upgrade linux-image-generic
- Перезагрузите систему для применения изменений:
sudo reboot
- После перезагрузки убедитесь, что версия ядра выше уязвимых (исправления включены в ветки 6.2.10, 6.1.24, 5.15.107, 5.10.177 и выше):
uname -r
Временные меры
Если немедленное обновление ядра невозможно, используйте следующие методы для снижения риска эксплуатации:
- Ограничьте доступ к использованию пользовательских пространств имен (User Namespaces), так как они часто необходимы для эксплуатации данной уязвимости:
sudo sysctl -w kernel.unprivileged_userns_clone=0
- Чтобы сохранить настройку после перезагрузки, добавьте её в конфигурационный файл:
echo "kernel.unprivileged_userns_clone=0" | sudo tee /etc/sysctl.d/99-disable-unpriv-userns.conf
- Если OverlayFS не используется в работе ваших сервисов, вы можете временно выгрузить модуль:
sudo modprobe -r overlay
- Для предотвращения автоматической загрузки модуля создайте blacklist-файл:
echo "blacklist overlay" | sudo tee /etc/modprobe.d/disable-overlay.conf
- Проверьте наличие файловых систем, смонтированных с
nosuid, и убедитесь, что недоверенные пользователи не имеют возможности монтировать свои файловые системы через FUSE.