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.

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

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

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

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

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

Если немедленное обновление ядра невозможно, используйте следующие методы для снижения риска эксплуатации:

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

  1. Чтобы сохранить настройку после перезагрузки, добавьте её в конфигурационный файл:
echo "kernel.unprivileged_userns_clone=0" | sudo tee /etc/sysctl.d/99-disable-unpriv-userns.conf

  1. Если OverlayFS не используется в работе ваших сервисов, вы можете временно выгрузить модуль:
sudo modprobe -r overlay

  1. Для предотвращения автоматической загрузки модуля создайте blacklist-файл:
echo "blacklist overlay" | sudo tee /etc/modprobe.d/disable-overlay.conf

  1. Проверьте наличие файловых систем, смонтированных с nosuid, и убедитесь, что недоверенные пользователи не имеют возможности монтировать свои файловые системы через FUSE.