O Que e o TimThumb??O TimThumb e uma pequena aplicacao em PHP criada para automatizar o redimensionamento de imagens em paginas web, tarefa especialmente importante na geracao de thumbnails para galerias de fotos e imagens. Pode ser usada em qualquer portal cujo servidor suporte PHP, mas tem sido fortemente aplicada em temas para o Wordpress. O proprio Wordpress nao usa o TimThumb (ao menos ate as ultimas versoes lancadas ate o momento da escrita deste artigo), mas muitos de seus temas o tem usado ostensivamente.Pagina do Projeto TimThumb:http://code.google.com/p/timthumb/Wiki do Projeto: http://code.google.com/p/timthumb/w/listBlog e Tutorial do Projeto:http://www.binarymoon.co.uk/2010/08/timthumb/O Problema da Vulnerabilidade (Falha no TimThumb)Recentemente, a Avast noticiou ter descoberto uma vulnerabilidade provocada por uma falha no TimThumb que permite a injecao de codigo malicioso em paginas que utilizam este componente, podendo infectar maquinas clientes e disseminar o codigo malicioso rapidamente. Mais informacoes, vide aqui. Uma lista ainda bem incompleta de temas do Wordpress que utilizam o TimThumb esta aqui.Como Saber se Uso o TimThumb??O TimThumb nada mais e do que um arquivo PHP. Nos temas do Wordpress, ele pode ter os seguintes nomes: timthumb.php, thumb.php, image.php, alem de alguns outros nomes menos utilizados. O comando abaixo lista possiveis lugares onde o TimThumb pode estar instalado:cd /var/www [ou o local onde esta sua pasta web]find . | grep thumb.phpfind . | grep image.phpEm ultimo caso, voce pode varrer todos os arquivos PHP das suas pastas virtuais, com o comando:find . | grep .phpAnote os arquivos que os comandos geram em suas saidas. Estes sao do TimThumb e precisam ser atualizados.Atualizando o TimThumb (Passo-a-Passo)1- Baixe a versao mais nova do TimThumb em:http://timthumb.googlecode.com/svn/trunk/timthumb.phpAtente para que o arquivo tem, alem do codigo em si, logo no inicio, algumas informacoes de registro, como a versao e a licenca. Verifique estes dados na versao que esta instalada em cada sistema web seu e valide se a sua versao e mesmo defasada e precisa ser atualizada. A versao pode ser encontrada em uma linha semelhante a esta:define ('VERSION', '2.8.2');2- Antes de qualquer coisa, PELAMORDEDEUS, faca backup dos arquivos que voce pretende substituir. Mantenha estes backups durante algum tempo, para que seja facil voltar os arquivos antigos caso algum erro seja detectado com a versao nova.3- Verifique as permissoes que foram dadas a cada arquivo de versao antiga que deve ser substituido. Verifique tambem o nome de usuario e grupo atribuido a estes arquivos. Para tanto, utilize o comando "ls -l".4- Copie o arquivo que voce baixou, correspondente a versao mais nova do TimThumb, para o mesmo local e com o mesmo nome do arquivo correspondente a versao antiga, de forma a sobreescreve-lo. Faca isso para cada ocorrencia do TimThumb em seus sistemas web. Restaure ao arquivo recem-copiado as mesmas permissoes de acesso, nome de usuario e grupo, conforme configurado no arquivo antigo.5- Teste, teste, teste. Testar nunca e demais.Instalando o TimThumb Pela Primeira Vez!!Embora este artigo seja inicialmente destinado a ajudar um administrador de sistemas a atualizar o TimThumb, esta secao foi criada para ajudar os desenvolvedores web que acaso venham ate aqui e quereiram aprender a usar o TimThumb em seus