9 de dezembro de 2008

php, Estefan Esser, e a saga

No último dia 04/12/2008 Stefan Esser, divulgou um advisory que anunciava uma falha no método ZipArchive::extractTo() do php 5.2.6. A falha é um Path Traversal e extremamente simples de explorar. Para explorar a falha é necessário que o sistema utilize o método ZipArchive::extractTo() para upload e fazer a descompressão automática (Muitos CMS utilizam isso). Para quem necessita deste recurso o único meio de tratamento é upgrade para versão 2.5.7. Mais detalhes sobre o advisory estão publicadas neste link.

No Domingo 07/12/2008 o mesmo Stefan Esser, fez alguns comentários sobre os backports relacionados a segurança e disse para tomar cuidado com o upgrade, pois o upgrade para a versão 5.2.7 irá quebrar a diretiva de magic_quotes. Qual o problema disto? Acreditem, muitas aplicações dependem única e exclusivamente disto para tratar problemas de SQL Injection e afins.

Já hoje dia 09/12/2008 novamente ele, anunciou um projeto bem interessante que ele vinha trabalhando e disponibilizou a primeira versão para download. O projeto chama ext/usim e permite que você teste o upgrade para versões mais recentes, assim você pode testar se a sua aplicação irá se comportar perfeitamente nesta versão.

Será que até o final da semana ele vai soltar mais uma?

3 comentários:

Fernando Cima disse...

Se eu entendi direito então você pode escolher entre ficar com a 5.2.6 e estar vulnerável a path traversal, ou fazer upgrande para a 5.2.7 e ficar vulnerável a SQL Injection. Escolha o seu bug!

Além disso, ficaram sentados em cima do bug de path traversal por 6 meses e depois tentaram uma correção "silenciosa" não documentando a correção no changelog. Eu achava que só a Microsoft fazia isso... ;)

Elias Wagner disse...

Exatamente Cima, por isso eu coloquei todo o desenrolar da coisa....rs...

Você pode escolher entre um bug ou outro, ou usar o método KIWI (Kill It With Iron). :)

Sinceramente, matar o upload de arquivos zipados me parece o mais racional...

André Zorzo disse...

Elias, ontem mesmo foi lançada a 2.5.8 do PHP que corrige este problema da versão 2.5.7, que inclusive foi removida da lista de downloads do site.

Abraço,
André