Ozbiljan sigurnosni propust u TimThumb skripti

Prije par dana je otkriven ozbiljan sigurnosni propust u TimThumb skripti za redimenzionisanje slika koju koristi mnogo tema i plugina. Propust je prvi prijavio Mark Maunder u članku na svom blogu, a propust je potvrdio i autor skripte.

Propust omogućava napadaču da izvrši proizvoljan PHP kod u folderu koji TimThumb koristi za keširanje sadržaja. Jednom kada se kod doda na takav način, napadač u potpunosti može preuzeti kontrolu nad vašom stranicom.

Ako vaša tema ili neki plugin koriste ovu skriptu, preporučujemo vam potpuno brisanje timthumb.php datoteke ukoliko je moguće da vaša stranica radi bez pomenute skripte. Ako koristite neku od “premium” tema koje obično imaju svoju kontrolnu ploču sa opcijama, onda je opcija za aktivaciju TimThumb skripte obično imenovana kao “Use New Thumbnail Resizing” ili nešto slično pa prvo isprobajte da li vaša stranica ispravno funkcioniše nakon što tu opciju isključite prije nego skriptu u potpunosti obrišete.

Ako ne možete obrisati vašu TimThumb skriptu, onda vam preporučujemo preuzimanje najnovije verzije sa ovog linka (desni klik, Save link as…).  Također biste trebali da unutar TimThumb skripte konstantu ALLOW_EXTERNAL postavite na vrijednost false i da pronađete niz pod nazivom $allowedSites i obrišete sve domene unutar njega kako biste onemogućili prikaz sadržaja sa drugih stranica.

Prije izmjene:

if(! defined('ALLOW_EXTERNAL') ) define ('ALLOW_EXTERNAL', TRUE);

if(! isset($ALLOWED_SITES)){
$ALLOWED_SITES = array (
'flickr.com', 'picasa.com', 'img.youtube.com', 'upload.wikimedia.org', 'photobucket.com', 'imgur.com', 'imageshack.us', 'tinypic.com');}

Nakon izmjene:

if(! defined('ALLOW_EXTERNAL') ) define ('ALLOW_EXTERNAL', FALSE);

if(! isset($ALLOWED_SITES)){
$ALLOWED_SITES = array ();}