В реализации x32 ABI ядра Linux обнаружена серьёзная уязвимость
31 января 2014 года
В ядре Linux выявлена критическая уязвимость (CVE-2014-0038), позволяющая локальному пользователю повысить свои привилегии в системе и выполнить код с правами ядра. Проблема проявляется только при сборке ядра с поддержкой x32 ABI, позволяющего использовать на 64-разрядных системах 32-разрядную модель адресации памяти.
Уязвимость проявляется на системах с 64-разрядым ядром Linux начиная с выпуска 3.4, собранным с опцией CONFIG_X86_X32 (не путать с CONFIG_X86_32: проблеме не подвержены конфигурации в которых 32-разрядные приложения выполняются в системе с 64-разрядным ядром, при условии что ядро собрано без поддержки x32 ABI, а также 32-разрядные сборки ядра). Эксплуатация уязвимости возможна даже из программ под x86_64 и i?86, которые сами по себе x32 ABI не используют; обязательным условием является только включенная поддержка X32 ABI в уязвимой версии ядра.
В частности, уязвимость присутствует в пакетах с ядром 3.11 и 3.8 из состава Ubuntu 13.10 и 12.04 LTS, которые собраны с ограниченной поддержкой x32 ABI. Обновление для пользователей Ubuntu уже выпущены. Последние актуальные версии ванильного ядра Linux 3.10.28, 3.12.9 и 3.13.1 подвержены уязвимости. Обновления для выпусков ядра Linux пока недоступны, но уже подготовлен патч. Для проверки своих систем на наличие уязвимости подготовлен прототип эксплоита (Архивная копия от 8 мая 2014 на Wayback Machine) (на уязвимых системах обычно приводит к появлению Oops в сообщениях ядра, см. выдачу команды dmesg). Проблема также присутствует в штатном ядре некоторых версий openSUSE и Arch Linux. Штатное ядро из Debian GNU/Linux, Fedora, RHEL и ALT Linux проблеме не подвержено.
Проверить собрано ли ядро с опцией CONFIG_X86_X32 в большинстве дистрибутивов можно при помощи команд:
grep CONFIG_X86_X32 /boot/config-`uname -r` zgrep CONFIG_X86_X32 /proc/config.gz
Дополнение: Опубликован эксплоит для получения root-доступа, работающий в Ubuntu 13.10.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.