Перейти до вмісту
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