30/11/01
Deux
failles exploitées pour le contrôle total d'un site PHP-Nuke
Au sommaire du Dossier
"Failles de sécurité"
Mise à jour:
lors de sa publication initiale, cet article comportait
deux erreurs dommageables pour l'auteur des alertes pointées
par les liens ci-dessous. Il était écrit
que PHP-Nuke n'était pas Open Source. Or, il l'est,
et sous licence GPL. D'autre part, Aurélien Cabezon
ne travaille pas pour iSecure Labs, un portail dont il
a la charge, mais pour la société Asséphira
Consulting à Sophia-Antipolis. L'article ci-dessous
a été corrigé dans les heures qui
ont suivi sa publication. Mais il a été
repris sous sa forme initiale par un fil d'information
spécialisé. C'est pourquoi nous avons jugé
plus juste de publier cette mise à jour à
propos des corrections effectuées. Rappelons enfin
que PHP-Nuke
5.3.1 est disponible, et que cette version a été
corrigée sur plusieurs aspects par rapport à
la 5.1.
A l'aide du programme PHP-Nuke,
n'importe quel webmestre peut mettre en ligne très
facilement un site web écrit en PHP: il n'a qu'à
configurer l'apparence de l'interface. Auprès des
sites de taille moyenne, cet outil développé
par une seule personne avec des composants additionnels
conçus par d'autres a recueilli en peu de temps
une véritable popularité. Sur le site de
l'auteur, qui déclare près de 13 millions
de pages vues depuis février, le logiciel a été
téléchargé
près de 22 000 fois. Les enregistrements
officiels de licences PHP-Nuke sont environ 26 000.
Mais ce nombre est loin de refléter l'intégralité
de la base installée, du fait que celui-ci peut-être
téléchargé gratuitement à
partir de nombreux sites et exploité tel quel.
Le support de 22 langages peut aussi donner une idée
de sa popularité.
Or, un expert en sécurité français,
Aurélien Cabezon qui édite le site iSecure
Labs, vient de découvrir toute une série
de vulnérabilités dans le coeur du programme
et ses
composants
externes. La principale d'entre elle constitue un enchaînement
de deux failles: une forme de Cross Site Scripting en
local à l'aide de JavaScript pour récupérer
un cookie (une faille bien connue d'Internet Explorer
découverte
par Securiteam), et le déchiffrement facile
du mot de passe qu'il contient pour le compte administrateur,
encodé au format Base64. Un format qui, selon Aurélien
Cabezon, "se remonte facilement. Il suffit d'une
seconde pour obtenir le résultat."
Nul besoin de préciser ce qu'il peut advenir ensuite
lorsque le hacker dispose à loisir du compte administrateur.
Les portes lui sont grandes ouvertes sur le serveur, le
plus souvent avec le contrôle de MySQL en prime.
"La plupart des administrateurs utilisent le même
mot de passe pour la base de données", dénonce
l'expert en sécurité basé à
Sophia-Antipolis.
PHP-Nuke
lui-même n'est pas seul en cause
Après avoir publié son
bulletin d'alerte sur le site d'iSecure Labs, Aurélien
Cabezon le soumet à SecurityFocus.com,
le portail officiel de la mailing list Bugtraq. Puis le
communiqué est repris sur d'autres sites comme
SecurityTimes.com
et Security-Protocol.com.
Au préalable, l'expert français a bien pris
le soin de communiquer la vulnérabilité
au développeur de PHP-Nuke. Mais depuis, pas de
nouvelles, et aucun correctif ne paraît disponible
pour la version 5.1 incriminée. Ce qui n'empêche
pas de passer judicieusement à la version 5.3.1,
corrigée selon l'un de nos lecteurs. Du reste,
une variante de ce logiciel signée par un autre
programmeur, Post-Nuke, apparaît aussi concernée.
Et ce n'est pas tout.
Comme si cela ne suffisait pas, une
faille de Cross Site Scripting, véritable cette
fois-ci, existe dans le composant additif Galerie pour
la gestion de séries de photos, qui permet de se
passer de la faille d'Explorer pour éxécuter
le JavaScript fautif. Enfin, Aurélien Cabezon découvre
au passage dans un autre additif, Network Tool qui regroupe
les outils réseaux les plus courants, une faille
supplémentaire elle
aussi reprise par Bugtraq, comportant des risques
d'intrusion. Ce qui lui fait dire: "il ne suffit
pas d'installer un programme tout fait, il faut aussi
se tenir au courant. Il faudrait aussi que les cookies
ne renferment pas le login et le mot de passe. D'autres
sites le font aussi, mais ils utilisent des méthodes
de chiffrement différentes et beaucoup plus robustes.
D'une manière générale, il faut désactiver
le JavaScript. La solution ultime serait en fait qu'il
n'y ait plus de JavaScript du tout."
Au sommaire du Dossier
"Failles de sécurité"
|