|
door Henk van de Kamer op
maandag, 19 oktober 2009 17:46
|
In Opensource projecten is het vrij gebruikelijk om code uit andere projecten te gebruiken. Soms is dit niets anders dan een exacte kopie en in andere gevallen worden alleen de benodigde onderdelen opgenomen. Dit hergebruik is aan de ene kant slim, maar levert ook de nodige problemen op als in het moederproject beveiligingsfouten worden ontdekt.
Onder Unix wordt in plaats van de Adobe Acrobat reader vaak Xpdf ingezet. Zoals de naam al doet vermoeden is dit een PDF viewer die bedoeld is voor het X Window systeem. In versie 3.02pl3 zijn maar liefst vijf fouten ontdekt (elk woord is een link naar één van de vijf). Al deze fouten zijn te misbruiken via een geprepareerde PDF die door het slachtoffer wordt bekeken. Uiteraard kan dan ook programmacode op het systeem worden uitgevoerd. Onder Linux is de schade vaak beperkt omdat gebruikers anders dan in Windows niet via een simpele klik beheerdersrechten kunnen krijgen. Toch moeten we oppassen omdat het uitvoeren van code door een uiteraard niet te vertrouwen persoon zonder meer niet echt de bedoeling is...
De code van Xpdf wordt in een hele serie andere projecten gebruikt. Bijvoorbeeld de KPDF viewer van KDE en hierin zijn alle vijf de gevonden problemen aanwezig. In sommige advisories wordt aangeraden om een andere PDF viewer te gebruiken, maar zoals u zult zien, zal dat weinig helpen als één van de andere projecten ook op uw systeem aanwezig is. Dit soort adviezen zijn dan ook nauwelijks serieus te nemen. Ook Gnome heeft zijn eigen variant die op Xpdf is gebaseerd en ook deze bevat alle vijf de fouten.
CUPS — de meest gebruikte printeraansturing op Unix systemen — bevat een pdftops programma en hierin zit een deel van de Xpdf code verwerkt. De schade? Slechts twee van de vijf problemen. Ook Poppler gebruikt slechts een deel van de code en is eveneens beperkt tot twee stuks. Op de website van Xpdf worden nog een paar minder bekende projecten genoemd die de code gebruiken. Of we daarmee alle programma's te pakken hebben is op dit moment nog niet duidelijk.
|