Hackers kunnen een fout in de implementatie van het Reliable Data Sockets protocol in de Linux-kernel misbruiken om roottoegang te krijgen tot een systeem van een slachtoffer. Aanvallers kunnen het lek uitbuiten om volledige toegang te krijgen tot een computer nadat zij op het systeem ingebroken hebben. Dan Rosenberg, die het lek ontdekte, heeft een exploit voor demonstratiedoeleinden gepubliceerd op zijn website.

Workaround en patch

Volgens Rosenberg zijn kernelversie 2.6.30 tot en met 2.6.36-rc8 vatbaar voor de exploit. Linux-ontwikkelaars hebben inmiddels wel een patch uitgebracht die het probleem oplost. Het is te verwachten dat de meeste Linuxdistributeurs die patch binnenkort publiceren.

De meeste systemen zullen overigens niet vatbaar zijn omdat het protocol niet veelgebruikt is. Voor systemen die het protocol wel gebruiken heeft Rosenberg een workaround gevonden. Door op een terminal als root het commando echo "alias net-pf-21 off" > /etc/modprobe.d/disable-rds uit te voeren laadt de kernel de RDS-module niet.

Verkeerde check

Rosenberg stelt dat het probleem is ontstaan doordat de kernelfuncties in het RDS-protocol de geheugenadressen die het systeem opgeeft als data van het kernelgeheugen naar het gebruikersgeheugen wordt gekopieerd niet goed checkt. Als gevolg daarvan kunnen gebruikers code in het kernelgeheugen zetten en zo met super-user rechten uitvoeren als zij een bepaalde socket aanroepen.

Het is onbekend hoe de fout in de kernelcode is gekomen.

Derde keer

Het is de derde keer in korte tijd dat hackers door een gat in elementaire onderdelen van Linux roottoegang kunnen krijgen. In september bleek dat een oud gat in de Linux-kernel na drie jaar gerepareerd te zijn weer opengezet was. Eerder deze week werd bekend dat een gat in de GNU C-bibliotheek ervoor kan zorgen dat hackers roottoegang krijgen.