Mantendo o SquirrelMail seguro e na mão PDF Imprimir E-mail
Escrito por Miguel Di Ciurcio Filho   
Sex, 05 de Agosto de 2011 02:47

Eu uso o SquirrelMail 1.4.16 juntamente com muitos plugins e vários patches que o deixa bem mais usável. O problema é que eu mexi bastante nele ao longo da implantação que não me lembro mais o que que eu mudei em relação ao original, e também não documentei (amador!). Bem, eis então que recebo uma notificação de segurança do CentOS avisando de uma nova versão do SquirrelMail. Analisei o changelog e os patches contidos no SRPM e vi que não ia ter como eu aplicá-los, pois eles são backports da RedHat para o pacote dela, versão 1.4.8, bem mais antigo que o meu.

Esses dois bugs foram corrigidos nas versões 1.4.17 e 1.4.18. Fácil então, só pegar o diff dessas correções e aplicar no meu SquirrelMail.

Fiz checkout do branch:
svn checkout http://squirrelmail.svn.sourceforge.net/svnroot/squirrelmail/branches/SM-1_4-STABLE/squirrelmail

Dei uma zapeada no changelog:
svn log -r{2008-09-25}:HEAD .

Achei os dois commits, pois em ambos os logs eles incluíram o código CVE.

Gerei os diffs somente do que eu preciso:
svn diff -c13338 > cookie.diff
svn diff -c13290 > xss.diff

Fiz uma cópia de backup obviamente antes de aplicar os patches (não tão amador assim, né?) e mandei bala:
patch -p0 < cookie.diff
patch -p0 < xss.diff

Um chunk falhou, mas ele falhou em um arquivo de changelog do SquirrelMail, sem problemas.

Pra garantir, eu testo a sintaxe dos scripts:
for i in $(find . -name *.php); do
php -l $i;
done

Tchanã! SquirrelMail seguro e funcionando. O único porém é a eternidade que levou pra puxar o log e fazer os diffs no subversion. Projetos, usem mercurial, git ou bazaar pelo amor de deus.

 

Adicionar comentário


Código de segurança
Atualizar