Перейти к содержанию
ittechwire

Новости технологий с указанием источников

  1. Главная
  2. Безопасность

Безопасность

Исправления OpenBSD 7.9 закрыли ошибки ядра, которые Calif объединила в локальный root-эксплойт

По словам компании Calif, специализирующейся на безопасности, уязвимость разделяемой памяти, восходящая примерно на 37 лет назад к исходному коду BSD, была одной из двух частей цепочки локального получения root. Calif сообщает, что OpenBSD выпустила исправления errata 018 и 026.

Редакция ittechwire3 мин чтенияИсточники: 2Перевод с помощью ИИ · оригинал: English
Монитор с входом под root в текстовой консоли OpenBSD 5.3, более старого выпуска операционной системы, рядом со вторым экраном.
NAVY Stealth Reverser · CC0

Ключевые факты

  1. 1Calif опубликовала исследование о локальном root-эксплойте для OpenBSD, объединяющем две ошибки ядра; исправления представлены в errata OpenBSD 7.9.
  2. 2По данным Calif, одна из уязвимостей связана со знаковым 16-bit счётчиком подключений разделяемой памяти, восходящим примерно на 37 лет назад к исходному коду BSD.
  3. 3Errata 018 для OpenBSD от 14 сентября 2026 года помечено как исправление надёжности для целочисленного переполнения в shmat.
  4. 4Errata 026 от 30 сентября 2026 года помечено как исправление безопасности для ошибки подсчёта ссылок в ядре, которая могла вызвать use-after-free.
  5. 5Эксплойт требует локального доступа; Calif также предложила более широкое усиление защиты ядра, например безопасное удаление из списков, рандомизацию распределителей памяти и защиту на уровне компилятора.

Полный текст

Компания Calif, специализирующаяся на безопасности, опубликовала исследование, в котором описывает, как получила права root в OpenBSD, объединив две уязвимости ядра, которые проект с тех пор исправил. В материале Andrew Griffiths от 16 октября компания заявила, что одна из ошибок восходит примерно на 37 лет назад к исходному коду BSD. По словам Calif, она сообщила об уязвимостях в OpenBSD ранее в этом году, зачастую вместе с предложенными патчами.

По данным Calif, более старая уязвимость связана со счётчиком, отслеживающим подключения разделяемой памяти: он был определён как знаковое 16-bit значение и может переполняться. Как заявила компания, это переполнение через состояние гонки могло привести к use-after-free и вместе с отдельной ошибкой записи за пределы буфера в ядре позволяло локальному пользователю повысить привилегии до root. По словам Calif, атака срабатывала при включённой перекомпоновке ядра KARL в OpenBSD и процессорных защитах SMAP и SMEP и не требовала ошибки раскрытия информации. В материале также приведены ссылки на код и proof of concept.

Calif сообщила, что проблемы устранены в errata 018 и 026 для OpenBSD. На странице errata OpenBSD 7.9 исправление 018 датировано 14 сентября 2026 года и указано как исправление надёжности, предотвращающее целочисленное переполнение в shmat. Errata 026 от 30 сентября 2026 года указано как исправление безопасности для ошибки подсчёта ссылок, которая могла привести к use-after-free в ядре. Обе записи относятся ко всем архитектурам. Calif называет оба errata исправлениями проблем из своей цепочки, так что одно из двух исправлений помечено как исправление надёжности, а не безопасности.

На странице errata указано, что патчи распространяются в виде подписанных унифицированных diff-файлов, а утилита syspatch может устанавливать бинарные обновления на amd64, i386 и arm64. Исправления для поддерживаемых выпусков также включаются в ветку -stable, которую проект сопровождает в течение одного года после выпуска. Calif характеризует эксплойт как локальное повышение привилегий: это означает, что злоумышленнику сначала нужен доступ к системе.

Помимо errata, Calif изложила ряд идей по усилению защиты, призванных затруднить подобные пути атаки. Среди них — проверки целостности перед удалением элементов из двусвязных списков, которые, как отметила компания, уже реализованы во FreeBSD и NetBSD, а также большая рандомизация памяти ядра, поскольку, по словам Calif, распределители памяти ядра OpenBSD остаются детерминированными, хотя KARL рандомизирует расположение бинарного файла ядра. Компания также указала на возможности компиляторов, такие как санитайзер границ массивов и готовящиеся Alloc Tokens. Calif сообщила, что предлагала этот санитайзер FreeBSD и в частном порядке сообщила там о 21 проблеме, которые он бы обнаружил, утверждая, что устранение целых классов ошибок становится всё важнее по мере того, как ИИ помогает в поиске уязвимостей.

Почему это важно

Администраторы, устанавливающие только errata с пометкой безопасности, могли пропустить 018, которое OpenBSD указывает как исправление надёжности, однако Calif называет его одним из двух исправлений ошибок в своей цепочке получения root. Поскольку на код эксплойта есть публичные ссылки, рекомендуется убедиться, что установлены и 018, и 026, особенно в системах, где недоверенные пользователи могут входить локально.

Хронология

  1. · Опубликовано

Темы#OpenBSD#ядро#повышение привилегий#управление патчами#Calif

Источники

Эта новость основана на следующих источниках. Прочитайте их, чтобы увидеть полный контекст.

  1. 1Calif · ИсследованиеBig Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · Официальное заявлениеOpenBSD 7.9 Erratawww.openbsd.org