Beveiligingsonderzoeker Brad Spengler heeft een aanval ontwikkeld die zelfs op de best beveiligde Linux distributie werkt, maar volgens sommigen is het een van Unix afkomstige ontwerpfout. Bojan Zdrnja van het Internet Storm Center is gefascineerd door het lek, omdat een audit van de broncode het nooit had blootgelegd. "Het is mogelijk, maar ik verzeker je dat bijna iedereen het zou missen." De kwetsbaarheid zit in verschillende onderdelen van Linux, waaronder die de net/tun functies implementeert. De code controleert of de tun variabele niet naar NULL wijst, maar de compiler verwijdert deze regels tijdens de optimalisatie routine. Als de variabele naar nul wijst, probeert de kernel toegang tot afgeschermd geheugen te krijgen, waardoor een aanvaller het systeem kan overnemen.
De "NULL pointer dereference" bug is aanwezig in versies 2.6.30 en 2.6.30.1 van de Linux kernel, die alleen in versie 5 van Red Hat Enterprise Linux aanwezig zijn. De exploit werkt alleen als de Security-Enhanced Linux extensies zijn ingeschakeld, of als de PulseAudio software is geïnstalleerd. Volgens Bas Alberts, beveiligingsonderzoeker bij Immunity, probeerden Linux-ontwikkelaars tegen het lek te beschermen, maar laat de exploit zien dat zelfs als alle beveiliging op z'n hoogst staat, het nog steeds mogelijk is voor een aanvaller om dit te omzeilen. Met name de manier waarop het lek ontstaat vindt Alberts interessant, maar noemt het ook zeer ernstig. De aanval werkt niet op afstand en geeft een aanvaller de mogelijkheid om zijn rechten te verhogen, om vervolgens als root code uit te voeren.
Setuid
Sprengler besloot zijn exploit te publiceren omdat Linus Torvalds en andere Linux kernel-ontwikkelaars de fout in de code niet als een beveiligingsrisico zagen. "Zoals ik het zie is het geen kernelprobleem. Hij draait een setuid programma waarmee gebruikers hun eigen modules kunnen specificeren. En dan zijn mensen verrast dat hij lokaal root krijgt?", aldus Torvalds. Die krijgt bijval van Robert Graham van Errata Security. Hij merkt op dat setuid een "chronisch" beveiligingsprobleem is. "Torvalds heeft gelijk, dit is geen kernelprobleem, maar een ontwerpfout afkomstig van Unix. Er is geen makkelijke oplossing voor het probleem, dus het zal nog jaren bij ons blijven." Toch wil Sprengler met zijn exploit aantonen dat Linux-ontwikkelaars gebruikers risico laten lopen door niet duidelijk te melden wanneer beveiligingslekken zijn ontdekt. Een oplossing zou via deze link beschikbaar zijn.
Deze posting is gelocked. Reageren is niet meer mogelijk.