Een Belgische beveiligingsonderzoeker heeft zonder veel moeite 200 beveiligingsproblemen gevonden in X.org, de displayserver die in de meeste Linux-distributies wordt gebruikt. Zo'n 120 bugs bevonden zich in het deel dat als root wordt gedraaid.
Bij 80 kwetsbaarheden ging het om bugs in de X.org-server. "Er is heel veel slechte code", zo zei de Belgische beveiligingsonderzoeker Ilja van Sprundel, die zijn bevindingen op de CCC-hackersconferentie in Hamburg uit de doeken deed. "Dit is alleen nog maar het laaghangend fruit." Van Sprundel had een week nodig om de bugs in de X.org-client te vinden, hoewel het vinden van de serverbugs meer tijd kostte.
"Veel code is dertig jaar oud en niet voorbereid op de manier waarop X.org vandaag de dag wordt gebruikt", stelt de onderzoeker. Zo kan X.org op sommige punten crashen bij het wegschrijven van bestanden van 4 gigabyte; in de dagen dat X.org was ontworpen was het wegschrijven van bestanden van die grootte ondenkbaar, maar vandaag de dag al lang niet meer. Software-crashes zijn een beveiligingsprobleem, omdat ze soms door malware kunnen worden misbruikt om eigen code uit te voeren. Van Sprundel heeft geen exploits ontwikkeld, dus of de bugs daadwerkelijk door kwaadwillenden kunnen worden misbruikt is niet bekend.
De meeste kwetsbaarheden in de X.org-server moeten nog worden gepatcht; bij het gros van de client-kwetsbaarheden is dat al gebeurd. In de meeste gevallen ging het om variabelen waarvan de input niet werd gecontroleerd. Daarmee zouden ze kunnen worden gebruikt voor het uitvoeren van malafide code. Vooral bij de X.org-server, die met root-rechten opereert, is dat een probleem. Een aanvaller die al van een beveiligingsprobleem in andere software misbruik maakt, zou via de X.org-server dan root-rechten kunnen verkrijgen, wat de impact van de aanval vergroot. "Ik geef weinig informatie vrij over de bugs in de X.org-server, omdat ze nog moeten worden gepatcht", aldus Van Sprundel.
X.org is de displayserver van veel Linux-distributies, waaronder het populaire Ubuntu, al is die distributie wel bezig met zijn eigen displayserver. De displayserver is in Linux-distributies en andere op Unix gebaseerde besturingssystemen verantwoordelijk voor het op het scherm tekenen van de grafische interface. De X.org-server bestaat uit clients en een server, waarbij de clients doorgeven aan de server wat er op het scherm moet worden getekend. De X.org-client wordt vooral gebruikt als onderdeel van een toolkit, zoals GTK van Gnome of Qt van KDE. Volgens Van Sprundel zijn ook die implementaties van de client echter zo lek als een mandje.
De Belgische onderzoeker is het minst te spreken over de code van de OpenGL-extensie in X.org. Die is volgens Van Sprundel 'onvoorstelbaar slecht'. "Het is een eindeloze stroom aan crap", aldus Van Sprundel. "Het is verschrikkelijk en broken beyond repair." Zo wordt geheugen niet goed gealloceerd en zijn er geheugenlekken, die kunnen worden misbruikt voor het uitvoeren van malafide code. Ook de ondersteuning voor lettertypen is volgens Van Sprundel 'erg slecht'. De X.org-ondersteuning voor het tekenen van teksten wordt zelden nog gebruikt, maar is wel nog aanwezig.
Volgens Van Sprundel wordt X.org de komende jaren nog niet door iets anders vervangen, en is het daarom belangrijk dat bugs worden gevonden en opgelost. Hij is wel te spreken over de manier waarop het X.org-team bugmeldingen oppakte. "Er werd niet relativerend gereageerd, zoals nog wel eens gebeurt", aldus Van Sprundel.