Přejít na obsah
ittechwire

Technologické zprávy s jasnými zdroji

  1. Domů
  2. Bezpečnost

Bezpečnost

Errata pro OpenBSD 7.9 uzavírají chyby jádra, které Calif spojil do lokálního root exploitu

Bezpečnostní firma Calif uvádí, že chyba ve sdílené paměti, sahající přibližně 37 let zpět k původnímu kódu BSD, tvořila jednu polovinu řetězce pro lokální získání práv roota. Calif uvádí, že OpenBSD vydalo opravy jako errata 018 a 026.

Redakce ittechwire3 min čteníZdroje: 2Překlad pomocí AI · originál: English
Monitor zobrazující přihlášení roota na textové konzoli OpenBSD 5.3, staršího vydání operačního systému, vedle druhé obrazovky.
NAVY Stealth Reverser · CC0

Klíčové body

  1. 1Calif zveřejnil výzkum lokálního root exploitu pro OpenBSD, který kombinuje dvě chyby jádra; opravy jsou uvedeny v errata pro OpenBSD 7.9.
  2. 2Podle Califu se jedna z chyb týká 16-bitového znaménkového čítače připojení sdílené paměti, který sahá přibližně 37 let zpět k původním zdrojovým kódům BSD.
  3. 3Erratum 018 pro OpenBSD z 14. září 2026 je označeno jako oprava spolehlivosti řešící přetečení celého čísla v shmat.
  4. 4Erratum 026 z 30. září 2026 je označeno jako bezpečnostní oprava chyby v počítání referencí v jádře, která mohla způsobit use-after-free.
  5. 5Exploit vyžaduje lokální přístup; Calif navrhl také širší zesílení jádra, jako je bezpečné odpojování položek seznamů, randomizace alokátorů a zmírnění na úrovni kompilátoru.

Celá zpráva

Bezpečnostní firma Calif zveřejnila výzkum popisující, jak získala práva roota v OpenBSD spojením dvou chyb jádra, které projekt mezitím opravil. V článku z 16. října, jehož autorem je Andrew Griffiths, společnost uvedla, že jednu z chyb lze vysledovat zhruba 37 let zpět k původním zdrojovým kódům BSD. Calif uvedl, že zranitelnosti nahlásil OpenBSD začátkem tohoto roku, často spolu s navrženými opravami.

Podle Califu se starší chyba týká čítače, který sleduje připojení sdílené paměti a byl definován jako 16-bitová hodnota se znaménkem, která může přetéct. Firma uvedla, že toto přetečení mohlo prostřednictvím souběhu (race condition) vést k use-after-free a spolu se samostatným zápisem mimo hranice v jádře umožnilo lokálnímu uživateli povýšit svá oprávnění na roota. Calif uvedl, že útok fungoval se zapnutým přelinkováním jádra KARL v OpenBSD a s procesorovými ochranami SMAP a SMEP a nevyžadoval chybu umožňující únik informací. Článek také odkazuje na kód a proof of concept.

Calif uvedl, že problémy byly vyřešeny v errata 018 a 026 pro OpenBSD. Na stránce errata pro OpenBSD 7.9 je 018 datováno 14. září 2026 a je uvedeno jako oprava spolehlivosti, která zabraňuje přetečení celého čísla v shmat. Erratum 026 z 30. září 2026 je uvedeno jako bezpečnostní oprava chyby v počítání referencí, která mohla vést ke stavu use-after-free v jádře. Obě položky platí pro všechny architektury. Calif jmenuje obě errata jako opravy problémů ve svém řetězci, takže jedna z obou oprav nese označení oprava spolehlivosti, nikoli bezpečnostní oprava.

Stránka errata uvádí, že opravy jsou distribuovány jako podepsané unified diffy a že nástroj syspatch dokáže instalovat binární aktualizace na amd64, i386 a arm64. Opravy pro podporovaná vydání jsou také začleňovány do větve -stable, kterou projekt udržuje jeden rok po vydání. Calif popisuje exploit jako lokální eskalaci oprávnění, což znamená, že útočník by nejprve potřeboval přístup k systému.

Kromě errata Calif nastínil několik nápadů na zesílení zabezpečení, jejichž cílem je ztížit podobné cesty útoku. Patří mezi ně kontroly integrity před odebráním položek z obousměrně vázaných seznamů, které podle poznámky firmy již implementují FreeBSD a NetBSD, a větší randomizace paměti jádra, protože podle Califu zůstávají alokátory jádra OpenBSD deterministické, přestože KARL randomizuje rozložení binárního souboru jádra. Firma také poukázala na funkce kompilátorů, jako je array bounds sanitizer a připravované Alloc Tokens. Calif uvedl, že sanitizer navrhl projektu FreeBSD a soukromě tam nahlásil 21 problémů, které by sanitizer zachytil, a argumentoval tím, že zmírňování celých tříd chyb nabývá na významu, protože AI pomáhá při odhalování zranitelností.

Proč na tom záleží

Správci, kteří instalují pouze errata označená jako bezpečnostní, mohli vynechat 018, které OpenBSD uvádí jako opravu spolehlivosti, přestože jej Calif jmenuje jako jednu ze dvou oprav chyb ve svém řetězci pro získání práv roota. Vzhledem k tomu, že je na kód exploitu veřejně odkazováno, je vhodné ověřit, že jsou nainstalována obě errata 018 i 026, zejména na systémech, kde se mohou lokálně přihlásit nedůvěryhodní uživatelé.

Časová osa

  1. · Publikováno

Témata#OpenBSD#jádro#eskalace oprávnění#správa záplat#Calif

Zdroje

Tato zpráva vychází z následujících zdrojů. Přečtěte si je pro úplný kontext.

  1. 1Calif · VýzkumBig Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · Oficiální prohlášeníOpenBSD 7.9 Erratawww.openbsd.org