Ga naar de hoofdinhoud Ga naar de zoekopdracht Ga naar de hoofdnavigatie
Menu
Belangrijk Cybersecurity Score: 8/10

Linux-kernellek: race condition maakt uitlezen van andermans bestanden mogelijk

Een kwetsbaarheid in het geheugenbeheer van de Linux-kernel stelt lokale gebruikers in staat beschermde bestanden zoals SSH-keys of /etc/shadow uit te lezen. Er is al een patch beschikbaar.

Wat is er gebeurd?

Een beveiligingsonderzoeker met het pseudoniem _SiCK heeft op Github meerdere proof-of-concept-exploits gepubliceerd die een kwetsbaarheid in het geheugen- en procesbeheer van de Linux-kernel misbruiken. Het lek stelt lokale gebruikers zonder speciale rechten in staat om onder bepaalde omstandigheden bestanden te lezen die eigenlijk alleen toegankelijk zijn voor de root-gebruiker. Het gaat al om het vierde beveiligingslek binnen enkele dagen dat Linux-gebruikers de mogelijkheid geeft hun rechten uit te breiden.

Het PoC-voorbeeld met de ernstigste gevolgen heet ssh-keysign-pwn. Het leest de SSH-private-key van de machine uit – een bestand dat onder normale omstandigheden uitsluitend toegankelijk is voor de root-gebruiker. Een ander voorbeeld maakt gebruik van het programma "chage" om tijdens de uitvoering ervan het wachtwoordbestand /etc/shadow uit te lezen.

De details

De oorzaak van de kwetsbaarheid ligt diep in de kernel: de functie ptrace_may_access() faalt bij processen die zich net in het afsluitingsproces bevinden op een te open manier (het zogenaamde "fail open"). Wint een aanvaller een race condition, dus een wedstrijd tussen meerdere gelijktijdig lopende processen, dan kan hij ondanks ontbrekende rechten toegang krijgen tot bestanden die het stervende proces eerder had geopend. Potentieel getroffen zijn dus alle bestanden die worden geopend door programma's met root-rechten (setuid root), zoals /etc/shadow of /etc/ssh/ssh_host_key.

De fout werd ontdekt door het beveiligingsbedrijf Qualys. Linux-beheerder Linus Torvalds verhielp hem donderdagmiddag laat. Kort daarna maakte grsecurity-oprichter Brad Spengler in een korte analyse op het sociale netwerk X melding van de fout, wat op zijn beurt de ambitie van _SiCK aanwakkerde om eigen exploits te ontwikkelen. Een officiële CVE-aanduiding is tot nu toe niet toegekend voor het lek.

Opmerkelijk is dat de fout al enkele jaren geleden werd opgemerkt door Google-beveiligingsexpert Jann Horn. Hij had toen al een voorstel gedaan om het probleem op te lossen – dit werd echter niet doorgevoerd. Linux-kernel 7.0.8 bevat nu uitsluitend de bugfix voor het beveiligingslek dat door ssh-keysign-pwn wordt misbruikt. Kernelbeheerder Greg Kroah-Hartman becommentarieerde de situatie op het Fediverse met een zelfspottende opmerking over een "grote knop" op zijn bureau om nieuwe kernelversies uit te brengen.

Duiding

Voor de beveiligingstechniekbranche is dit lek om meerdere redenen relevant. Systemen voor toegangscontrole, videobewaking en alarmbeheer draaien vaak op Linux-gebaseerde servers of embedded apparaten. Wanneer lokale gebruikers – bijvoorbeeld via gecompromitteerde serviceaccounts of onvoldoende beveiligde toegangen – root-beschermde bestanden zoals SSH-sleutels of wachtwoordbestanden kunnen uitlezen, opent dit de deur voor verdere aanvallen op de volledige infrastructuur.

Bijzonder kritisch is het feit dat de kwetsbaarheid niet nieuw is: ze was al jaren geleden bekend, maar werd niet verholpen. Dit toont exemplarisch aan hoe belangrijk continu patchbeheer blijft, ook voor ogenschijnlijk stabiele en volwassen systemen. Aangezien het lek in principe denkbaar is voor elk uitvoerbaar bestand met root-rechten (setuid root), is het aanvalsoppervlak potentieel breed en niet beperkt tot de tot nu toe gepubliceerde PoC-voorbeelden.

Praktijktips

  • Systeembeheerders kunnen tijdelijk met het commando "echo 3 > /proc/sys/kernel/yama/ptrace_scope" een oplossing bieden voor alle tot nu toe bekende gevallen van het beveiligingslek.
  • De officiële fix zit al in Linux-kernel 7.0.8 – getroffen systemen moeten zo snel mogelijk worden bijgewerkt zodra de betreffende distributie een bijbehorend kernelpakket beschikbaar stelt.
  • Tot er gepatchte distributiepakketten beschikbaar zijn, moet de genoemde workaround met prioriteit worden doorgevoerd, met name op servers met gevoelige toegangsgegevens (SSH-keys, wachtwoordbestanden) en op veiligheidskritische systemen zoals toegangscontrole- of videobewakingsservers.
  • Het is in principe aan te raden te controleren welke lokale gebruikersaccounts op getroffen systemen überhaupt toegang hebben, om het aanvalsoppervlak voor race-condition-exploits in het algemeen te verkleinen.

Vooruitblik

Aangezien zowel grote als kleinere Linux-distributies de fix nu moeten verwerken in nieuwe kernelpakketten en uitleveren, moet er ervaringsgewijs rekening worden gehouden met enige vertraging voordat alle productiesystemen zijn beveiligd. In deze overgangsfase blijft de beschreven workaround via de Yama-ptrace-instelling de belangrijkste directe maatregel voor beheerders.

Gezien het feit dat dit al het vierde vergelijkbare beveiligingslek binnen enkele dagen is, valt te verwachten dat beveiligingsonderzoekers en kernelontwikkelaars zich verder intensief zullen bezighouden met het geheugen- en procesbeheer van de Linux-kernel. Voor beheerders van veiligheidskritische infrastructuur – van alarmsystemen tot videobewakingssystemen en toegangscontroleoplossingen – onderstreept dit incident de noodzaak om patchbeheerprocessen strak te plannen en ook ogenschijnlijk kleinere kernelupdates tijdig door te voeren.