Linux te kapen door RDS-fout in kernel
Gepubliceerd: Vrijdag 22 oktober 2010
Auteur: Uhro van der Pluijm
Door een fout in de implementatie van Reliable Data Sockets in de Linux-kernel kunnen hackers een systeem volledig overnemen. Er is al een patch voor dit gat beschikbaar.
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.
