Da spielt man regelmäßig die Updates von WordPress und den Plugins ein, um ja keine Sicherheitslücken offen zu haben, und trotzdem hat mich diese Woche mein Provider darauf aufmerksam gemacht, dass bei einem meiner Web-Projekte ein Malware-Schädling aufgetreten ist. Anhand der Log-Files konnte ich dann auch schnell den Übeltäter identifizieren und war etwas überrascht. Die Sicherheitslücke verursachte weder der Core-Part von WordPress noch irgendein Plugin, nein, der Übeltäter ist war ein kleines, aber feines Tool namens TimThumb, welches Bestandteil der in dem Projekt genutzten Theme ist.
Dieses PHP-Script kann Bilder auf beliebige Grössen zuschneiden und wählt dabei den bestmöglichen Ausschnitt. TimThumb wird vielen kostenlosen wie -pflichtigen Plugins und Themes verwendet, da es für die Entwickler einen geringeren Arbeitsaufwand bedeutet. Nur leider exisitiert in älteren Versionen dieses eigentlich sinnvollen Scripts eine Sicherheitslücke, mit der beliebige PHP-Dateien in dessen Cache-Verzeichnis eingeschleust und ausgeführt werden können. Und da dieses Script nicht automatisch durch WordPress auf eine notwendige Aktualisierung überprüft werden kann, fällt diese Sicherheitslücke meistens erst auf, wenn es zu spät ist!
Was kann resp. muss man nun also machen? Wenn man das Script nicht durch eine neuere Version ersetzen will, sollte man einfach die folgende Zeile suchen:
$allowedSites = array (
'flickr.com',
'picasa.com',
'blogger.com',
'wordpress.com',
'img.youtube.com',
);
und ersetzen mit
$allowedSites = array ();
Sinnvoller ist es aber natürlich, sich die neueste Version von TimThumb herunterzuladen und auf den Server zu spielen! Das habe ich gemacht und parallel dazu das WordPress Plugin Timthumb Vulnerability Scanner installiert. Mittels dieses Plugin können alle veralteten TimThumb Skripte angezeigt und automatisch auf den neuesten Stand gebracht werden. Und natürlich habe ich den Aufruf von Dateien auf externen Seiten komplett deaktiviert. Damit kann dieses Schlupfloch gar nicht mehr genutzt werden!
Auch wenn diese TimThumb-Sicherheitslücke nun bereits seit fast genau einem Jahr bekannt ist, hatte ich bisher davon nichts gelesen. Daher poste ich diesen Artikel heute, um eventuell anderen WordPress-Nutzern eine Hilfestellung zu geben resp. für dieses Thema zu sensibilisieren.