Naar de inhoud
ittechwire

Technieuws met heldere bronnen

  1. Home
  2. Beveiliging

Beveiliging

Errata voor OpenBSD 7.9 dichten kernelbugs die Calif koppelde tot een lokale root-exploit

Beveiligingsbedrijf Calif zegt dat een fout in gedeeld geheugen die ongeveer 37 jaar teruggaat tot de oorspronkelijke BSD-code, de ene helft van een lokale rootketen vormde. Volgens Calif heeft OpenBSD de fixes uitgebracht als errata 018 en 026.

ittechwire-redactie4 min lezenBronnen: 2AI-vertaling · origineel: English
Een monitor met een root-login op de tekstconsole van OpenBSD 5.3, een oudere release van het besturingssysteem, naast een tweede scherm.
NAVY Stealth Reverser · CC0

Belangrijkste punten

  1. 1Calif publiceerde onderzoek naar een lokale root-exploit voor OpenBSD die twee kernelbugs combineert; de fixes staan in de errata voor OpenBSD 7.9.
  2. 2Volgens Calif betreft een van de fouten een signed 16-bit-teller voor koppelingen aan gedeeld geheugen die ongeveer 37 jaar teruggaat tot de oorspronkelijke BSD-broncode.
  3. 3OpenBSD-errata 018, gedateerd op 14 september 2026, is gelabeld als betrouwbaarheidsfix voor een integer overflow in shmat.
  4. 4Errata 026, gedateerd op 30 september 2026, is gelabeld als beveiligingsfix voor een fout in de referentietelling van de kernel die een use-after-free kon veroorzaken.
  5. 5De exploit vereist lokale toegang; Calif stelde ook bredere kernelhardening voor, zoals veilig ontkoppelen van lijstitems, randomisatie van allocators en mitigaties op basis van de compiler.

Het volledige bericht

Beveiligingsbedrijf Calif heeft onderzoek gepubliceerd waarin het beschrijft hoe het rootrechten verkreeg op OpenBSD door twee kernelfouten te combineren die het project inmiddels heeft gepatcht. In een verslag van Andrew Griffiths van 16 oktober zei het bedrijf dat een van de bugs ruwweg 37 jaar teruggaat tot de oorspronkelijke BSD-broncode. Calif zei dat het de kwetsbaarheden eerder dit jaar aan OpenBSD heeft gemeld, vaak samen met voorgestelde patches.

Volgens Calif betreft de oudere fout een teller die koppelingen aan gedeeld geheugen bijhoudt en die was gedefinieerd als signed 16-bit-waarde, waardoor hij kan overlopen. Het bedrijf zei dat deze overloop via een race condition tot een use-after-free kon leiden en, samen met een afzonderlijke out-of-bounds-schrijfactie in de kernel, een lokale gebruiker in staat stelde zijn rechten tot root te verhogen. Calif zei dat de aanval werkte terwijl de KARL-kernelrelinking van OpenBSD en de processorbeveiligingen SMAP en SMEP waren ingeschakeld, en dat er geen bug voor het lekken van informatie nodig was. Het verslag linkt ook naar code en een proof of concept.

Calif zei dat de problemen zijn verholpen in OpenBSD-errata 018 en 026. Op de errata-pagina van OpenBSD 7.9 is 018 gedateerd op 14 september 2026 en staat het vermeld als betrouwbaarheidsfix die een integer overflow in shmat voorkomt. Errata 026, gedateerd op 30 september 2026, staat vermeld als beveiligingsfix voor een fout in de referentietelling die kon resulteren in een use-after-free in de kernel. Beide items gelden voor alle architecturen. Calif noemt beide errata als de fixes voor de problemen in zijn keten, dus een van de twee fixes draagt een betrouwbaarheidslabel in plaats van een beveiligingslabel.

De errata-pagina vermeldt dat patches worden verspreid als ondertekende unified diffs en dat het hulpprogramma syspatch binaire updates kan installeren op amd64, i386 en arm64. Fixes voor ondersteunde releases worden ook opgenomen in de branch -stable, die het project na een release een jaar lang onderhoudt. Calif omschrijft de exploit als een lokale privilege-escalatie, wat betekent dat een aanvaller eerst toegang tot het systeem nodig zou hebben.

Naast de errata schetste Calif verschillende ideeën voor hardening die vergelijkbare aanvalspaden moeilijker moeten maken. Daartoe behoren integriteitscontroles voordat items uit dubbel gelinkte lijsten worden verwijderd, waarvan het bedrijf opmerkte dat FreeBSD en NetBSD die al implementeren, en meer randomisatie van kernelgeheugen, omdat de kernelallocators van OpenBSD volgens Calif deterministisch blijven, ook al randomiseert KARL de indeling van de kernelbinary. Het bedrijf wees ook op compilerfuncties zoals de array bounds sanitizer en de aanstaande Alloc Tokens. Calif zei dat het de sanitizer aan FreeBSD had voorgesteld en daar privé 21 problemen had gemeld die deze zou hebben opgespoord, en betoogde dat het mitigeren van hele bugklassen belangrijker wordt naarmate AI helpt bij het ontdekken van kwetsbaarheden.

Waarom het ertoe doet

Beheerders die alleen errata met een beveiligingslabel installeren, hebben mogelijk 018 overgeslagen, dat OpenBSD vermeldt als betrouwbaarheidsfix, terwijl Calif het noemt als een van de twee fixes voor de bugs in zijn root-exploitketen. Nu er publiekelijk naar exploitcode wordt verwezen, is het raadzaam te controleren of zowel 018 als 026 geïnstalleerd zijn, vooral op systemen waarop niet-vertrouwde gebruikers lokaal kunnen inloggen.

Tijdlijn

  1. · Gepubliceerd

Onderwerpen#OpenBSD#kernel#privilege-escalatie#patchbeheer#Calif

Bronnen

Dit bericht is gebaseerd op de volgende bronnen. Lees ze voor de volledige context.

  1. 1Calif · OnderzoekBig Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · Officiële verklaringOpenBSD 7.9 Erratawww.openbsd.org