SquirrelMail a annoncé aujourd’hui sur son site que les paquets de la version 1.4.12 de leur webmail, parue le 5 Décembre dernier, avaient été compromis après avoir été publiés, le condensé MD5 censé représenter la signature du paquet ne correspondant pas à celui du paquet disponible en téléchargement ! Le paquet aurait été modifié par le biais de la compromission du compte d’un des mainteneurs du produit.

D’après l’éditeur, cette modification n’aurait qu’un impact quasi-nul sur la sécurité du produit, la modification de code, touchant une variable PHP globale, ne pouvant entrainer au pire que la génération d’une erreur si le code ajouté venait à être exécuté. Celui-ci recommande toutefois de retélécharger au plus vite le paquet de la dernière version, aujourd’hui sain.

Que faut-il retenir de cette leçon ?
Qu’il faut toujours vérifier que la signature d’un paquet correspond bien au paquet que l’on vient de télécharger, particulièrement si le serveur sur lequel le téléchargement a été effectué ne peut être considéré comme sûr. Le délai d’une semaine pour s’apercevoir de la compromission du paquet tend à prouver que seuls peu d’utilisateurs ont eu ce reflexe de vérification.

Par ailleurs, les éditeurs ne devraient plus se servir de l’algorithme de hashage MD5, dont la faiblesse a encore été récemment prouvée, mais utiliser des algorithmes plus robustes, tel que SHA-256.

D’autre part, si l’auteur du billet était un tant soit peu paranoïaque, il pourrait se demander pourquoi l’auteur de la compromission, qui semble s’être donné un peu de mal pour mettre en téléchargement un paquet modifié, n’aurait pas pris le temps de tester son code pour vérifier que celui-ci permettait bel et bien de prendre la main sur le serveur, au lieu de renvoyer une simple erreur … mais qui serait assez hardi pour mettre en doute la parole d’un éditeur concernant la sécurité de son produit ? 🙂

*** Mise à jour, lundi 17 décembre 2007 ***

SquirrelMail vient d’annoncer la sortie de la version 1.4.13 afin d’éviter d’éventuelles confusions. De plus, ceux-ci ont finalement annoncé que le code ajouté par le pirate ayant compromis leurs paquets représentait un risque de sécurité élevé, celui-ci permettant l’inclusion de fichiers distants, et donc la possibilité d’exécuter du code arbitraire sur le serveur.