Проанализирована root-уязвимость в ядре Linux

Проанализирована root-уязвимость в ядре Linux

Проанализирована root-уязвимость в ядре Linux

Раскрыты подробности эксплуатации уязвимости (CVE-2015-8660) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root. Уязвимость вызвана недоработкой в коде установки прав доступа в файловой системе OverlayFS, проявляющейся при использовании пространств имён для идентификаторов пользователей (user namespaces).

Суть проблемы в том, что пользователь может при помощи технологии "user namespaces" создать изолированное окружение со своим пользователем root и примонтировать в нём часть внешней ФС через OverlayFS. Из-за ошибки в OverlayFS при изменении прав доступа в изолированном окружении, изменения также остаются в связанной с OverlayFS директории для хранения изменений (например, директория для изменений может быть создана в tmpfs и остаётся доступна извне, также доступ к ФС изолированного окружения можно получить через /proc). Таким образом, в изолированном окружении можно создать исполняемый файл с флагом suid root и выполнить его вне изолированного окружения. Для тестирования подготовлен прототип эксплоита, пишет opennet.ru.

Вызвавшая уязвимость ошибка была устранена в ядре Linux в начале декабря и вошла в состав релиза ядра 4.4, но детальная информация об уязвимости обнародована только сейчас. Проблема проявляется начиная с ядра 3.18, поэтому не касается штатных ядер дистрибутивов RHEL/CentOS и Debian, нозатрагивает выпуски Ubuntu 15.10 и Fedora 23 и уже устранена в опубликованных несколько дней назад обновлениях пакетов с ядром.

Следует отметить, что так как многие старые подсистемы ядра написаны без оглядки на возможности User Namespace, не исключается наличие ещё не выявленных похожих уязвимостей. Например, кроме OverlayFS подобные проблемы найдены в ptrace (CVE-2015-8709). В качестве обходного пути защиты рекомендуется отключить поддержку User Namespace в ядре (CONFIG_USER_NS=n). Проверить включена ли поддержка User Namespace можно командой "ls /proc/self/ns|grep user". 

Подпишитесь на новости

Android 17 запретит приложениям внезапно орать в фоне

Google решила покончить с одной из самых мерзких мобильных неожиданностей: когда давно свёрнутое приложение или забытая вкладка браузера внезапно начинает воспроизводить звук. В Android 17 для этого появился системный механизм Background Audio Hardening.

Теперь приложение сможет включать аудио, запрашивать аудиофокус и менять громкость только при видимом на экране интерфейсе либо при корректно запущенной foreground-службе.

Ограничение действует на все приложения в Android 17, даже если они пока не адаптированы под API 37.

Если программа попытается шуметь из неподходящего фонового состояния, система просто проигнорирует её запрос. Воспроизведение и изменение громкости будут заблокированы без ошибки или падения приложения, а запрос аудиофокуса завершится отказом.

Как объясняет Google, нововведение должно остановить случайный запуск звука. Например, приложение могло зависнуть из-за проблем с сетью, быть заморожено системой, а затем очнуться через несколько часов и внезапно продолжить воспроизведение. Другой сценарий — потерянная медиасессия, которая продолжает жить уже без видимого интерфейса и понятной кнопки остановки.

Изменение работает на уровне всей операционной системы, поэтому это не специальное лекарство для Chrome, YouTube или сайтов с наглым автовоспроизведением. Под новые правила попадут браузеры, игры, медиаплееры и остальные приложения.

Побочный эффект тоже имеется. Программы, которым действительно нужно играть музыку или подкасты при выключенном экране, должны правильно использовать foreground-службу для медиавоспроизведения. Разработчикам с кривой реализацией придётся переписать код, иначе Android молча прикрутит им громкость.

Google также предусмотрела тестирование через ADB: защиту можно включить, отключить или перевести в жёсткий режим, при котором некорректные обращения к аудиоинтерфейсам вызывают явные ошибки.

RSS: Новости на портале Anti-Malware.ru