Salt la conținut
ittechwire

Știri tech cu surse clare

  1. Acasă
  2. Securitate

Securitate

Erratele OpenBSD 7.9 remediază erori de kernel pe care Calif le-a înlănțuit într-un exploit root local

Firma de securitate Calif spune că o eroare de memorie partajată ce datează de circa 37 de ani, din codul BSD original, a fost jumătate dintr-un lanț local de obținere a drepturilor root. Calif spune că OpenBSD a livrat remedierile ca errata 018 și 026.

Redacția ittechwire4 min de cititSurse: 2Traducere cu IA · original: English
Un monitor care afișează o autentificare root în consola text a OpenBSD 5.3, o versiune mai veche a sistemului de operare, lângă un al doilea ecran.
NAVY Stealth Reverser · CC0

Puncte-cheie

  1. 1Calif a publicat o cercetare despre un exploit root local pentru OpenBSD care combină două erori de kernel; remedierile apar în erratele OpenBSD 7.9.
  2. 2Potrivit Calif, una dintre vulnerabilități implică un contor cu semn pe 16-bit pentru atașările la memoria partajată, care datează de circa 37 de ani, din sursele BSD originale.
  3. 3Errata OpenBSD 018, datată 14 septembrie 2026, este etichetată ca remediere de fiabilitate pentru o depășire de întreg în shmat.
  4. 4Errata 026, datată 30 septembrie 2026, este etichetată ca remediere de securitate pentru o eroare de numărare a referințelor în kernel care putea provoca un use-after-free.
  5. 5Exploitul necesită acces local; Calif a propus și o consolidare mai amplă a kernelului, precum eliminarea sigură din liste, randomizarea alocatoarelor și atenuări bazate pe compilator.

Știrea completă

Firma de securitate Calif a publicat o cercetare care descrie cum a obținut privilegii root pe OpenBSD combinând două vulnerabilități ale kernelului, corectate între timp de proiect. Într-o analiză semnată de Andrew Griffiths, datată 16 octombrie, compania a afirmat că una dintre erori poate fi urmărită până la sursele BSD originale, cu aproximativ 37 de ani în urmă. Calif a declarat că a raportat vulnerabilitățile către OpenBSD mai devreme în cursul acestui an, adesea împreună cu patch-uri propuse.

Potrivit Calif, eroarea mai veche privește un contor care ține evidența atașărilor la memoria partajată și care a fost definit ca valoare cu semn pe 16-bit, ceea ce îl face susceptibil la depășire. Firma a spus că această depășire putea duce la un use-after-free printr-o condiție de cursă (race condition) și, împreună cu o scriere separată în afara limitelor (out-of-bounds) în kernel, a permis unui utilizator local să obțină drepturi root. Calif a precizat că atacul a funcționat cu relinkarea kernelului KARL a OpenBSD și cu protecțiile de procesor SMAP și SMEP activate și nu a necesitat o eroare de divulgare a informațiilor. Analiza include și linkuri către cod și o demonstrație de concept (proof of concept).

Calif a afirmat că problemele au fost rezolvate în erratele OpenBSD 018 și 026. Pe pagina de errata OpenBSD 7.9, 018 este datată 14 septembrie 2026 și este listată ca remediere de fiabilitate care previne o depășire de întreg în shmat. Errata 026, datată 30 septembrie 2026, este listată ca remediere de securitate pentru o eroare de numărare a referințelor care putea duce la o condiție de use-after-free în kernel. Ambele intrări se aplică tuturor arhitecturilor. Calif numește ambele errata drept remedierile problemelor din lanțul său, astfel că una dintre cele două remedieri poartă eticheta de fiabilitate, nu de securitate.

Pagina de errata precizează că patch-urile sunt distribuite ca diff-uri unificate semnate și că utilitarul syspatch poate instala actualizări binare pe amd64, i386 și arm64. Remedierile pentru versiunile suportate sunt incluse și în ramura -stable, pe care proiectul o întreține timp de un an după o lansare. Calif descrie exploitul ca pe o escaladare locală a privilegiilor, ceea ce înseamnă că un atacator ar avea mai întâi nevoie de acces la sistem.

Dincolo de errata, Calif a prezentat mai multe idei de consolidare menite să îngreuneze căi de atac similare. Printre acestea se numără verificări de integritate înainte ca intrările să fie eliminate din listele dublu înlănțuite, pe care, după cum a remarcat firma, FreeBSD și NetBSD le implementează deja, precum și o randomizare mai mare a memoriei kernelului, deoarece, potrivit Calif, alocatoarele kernelului OpenBSD rămân deterministe, chiar dacă KARL randomizează aranjamentul binarului kernelului. Firma a indicat și funcționalități ale compilatorului precum array bounds sanitizer și viitoarele Alloc Tokens. Calif a spus că a sugerat sanitizerul proiectului FreeBSD și că a raportat acolo, în privat, 21 de probleme pe care acesta le-ar fi detectat, argumentând că atenuarea unor clase întregi de erori devine tot mai importantă pe măsură ce AI-ul asistă descoperirea vulnerabilităților.

De ce contează

Administratorii care aplică doar erratele etichetate ca fiind de securitate ar fi putut omite 018, pe care OpenBSD o listează ca remediere de fiabilitate, deși Calif o numește drept una dintre cele două remedieri pentru erorile din lanțul său de exploit root. Întrucât codul exploitului este menționat public, este recomandabil să se confirme că atât 018, cât și 026 sunt instalate, mai ales pe sistemele la care utilizatori care nu sunt de încredere se pot autentifica local.

Cronologie

  1. · Publicat

Subiecte#OpenBSD#kernel#escaladarea privilegiilor#gestionarea patch-urilor#Calif

Surse

Această știre se bazează pe sursele de mai jos. Citiți-le pentru contextul complet.

  1. 1Calif · CercetareBig Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · Declarație oficialăOpenBSD 7.9 Erratawww.openbsd.org