Hackers kunnen een kwetsbaarhed in de loader van de GNU C Bibliotheek misbruiken om root toegang te krijgen op onder andere Linuxsystemen. Aanvallers kunnen door de fout te misbruiken bijvoorbeeld volledige controle krijgen over een webserver door hun rechten na het toegang krijgen te verhogen. De bibliotheek is standaard aanwezig in alle Linux distributies en verschillende andere besturingssystemen. Verschillende distributeurs werken inmiddels aan een update.

Uitvoeren als root

Het probleem ligt hem in de manier waarop de loader van glibc de $ORIGIN waarde die applicaties meesturen gebruikt. Met die waarde kan het pad naar een bibliotheek relatief tot de locatie van een applicatie opgegeven worden. Op die manier kunnen applicaties bibliotheken die zij verder niet regelmatig aanroepen in een subdirectory van de applicatie plaatsen. Normaliter moeten bibliotheken in de de standaard library directory (/lib) staan.

Volgens onderzoeker Tavis Ormandy, die het gat ontdekte, is dat een beveiligingsprobleem omdat een aanvaller op deze manier een zelfgemaakte bibliotheek op het systeem kan plaatsen, in een map waar hij rechten heeft. Vervolgens kan hij het pad naar die bibliotheek meesturen in de loader variabele van een programma. Als dat programma rechten heeft om de user-id als root in te stellen (set user-id of SUID) dan voert de computer de zelfgeschreven bibliotheek ook als root uit.

Ubuntu niet vatbaar

Hoewel een ELF-specificatie uit 2003 al aangeeft dat een loader dat pad moet negeren bij applicaties die de gebruikers of groep id kunnen instellen, blijkt het dat de ontwikkelaars van glibc deze aanbeveling niet hebben opgevolgd.

Ormandy kon het beveiligingslek uiteindelijk uitbuiten door verschillende methodes te combineren. Zo linkte hij hard naar bepaalde bestanden en verwees hij bestandsomschrijvingen en omgevingsvariabelen door. De onderzoeker kon zo met een script dat hij in de temp-directory plaatste een rootshell openen. Uit het onderzoek van Ormandy bleek dat in ieder geval glibc versie 2.12.1 op Fedora 13 en versie 2.5 op Red Hat Enterprise Linux 5 vatbaar zijn voor de fout. Nieuwe versies van Ubuntu Linux lijken niet vatbaar voor de aanval.

Bron: Techworld