Sources des Extensions

Chacun peut écrire et distribuer une extension Joomla! en tant que service rendu à la communauté mondiale. Ces extensions tierces peuvent se trouver sur les sites web de développeurs professionnels d'extensions, des blogs personnels, GitHub et des dépôts similaires, ainsi que sur le site de l'annuaire des extensions Joomla (JED).

Extensions Vulnérables

Très peu de sources proposent des extensions délibérément malveillantes. Habituellement, une extension vulnérable est une extension dont on a découvert, après sa publication initiale, qu'elle contient (ou contribue à) une faille de sécurité.

Les extensions vulnérables ne sont pas nécessairement mal codées. Le Web évoluant, les exigences techniques et les pratiques de codage généralement admises changent également. Les projets actifs publient de nouvelles versions de leurs extensions au fur et à mesure que les exigences évoluent et corrigent rapidement toute vulnérabilité signalée.

Si vous avez des doutes concernant l'une de vos extensions, vous devriez consulter la liste des extensions vulnérables de Joomla (VEL) qui contient des informations sur plus de 240 extensions, pour la plupart anciennes.

Le JED Checker

Si vous avez des doutes concernant une extension qui n'apparaît pas dans la VEL, vous pouvez utiliser l'extension JED Checker. Il s'agit d'une extension utilisée pour vérifier les extensions soumises afin de figurer dans la liste de l'annuaire des extensions Joomla. Elle s'installe comme n'importe quelle autre extension. En utilisation, elle accepte un fichier zip d'extension et examine son contenu pour vérifier sa conformité aux standards du JED. Elle est extrêmement utile, même pour les extensions qui n'apparaissent pas dans la liste du JED. Voici une capture d'écran d'exemple :

jed checker result

Les 400 fichiers PHP avec un avis de licence GPL manquant se trouvent dans des bibliothèques tierces sous une licence différente. Les 30 fichiers identifiés par le script d'analyse anti-malware de Joomla se trouvent également dans ces bibliothèques tierces. Il reste du travail à faire sur les fichiers sans sécurité JEXEC !

Suppression d'une Extension Vulnérable

Établir une Liste des Fichiers à Supprimer

Si vous pouvez le localiser, lisez le fichier xml de l'extension pour déterminer exactement quels répertoires, fichiers et tables de base de données ont été ajoutés à votre système. Le fichier XML se trouve dans l'archive zip d'origine utilisée lors de l'installation de l'extension. Par exemple, l'archive zip d'une extension appelée mod_vulnerable contiendrait un fichier XML appelé mod_vulnerable.xml, qui pourrait contenir une liste de fichiers telle que la suivante :

    mod_vulnerable.php
    mod_vulnerable/vulnerable_file.txt
    mod_vulnerable/another_vulnerable_file.txt
    mod_vulnerable/yet_another_vulnerable_file.txt
    mod_vulnerable/index.html

Désinstaller via l'Installateur Joomla

À l'aide de l'Installateur dans l'Administration de Joomla!, désinstallez l'extension vulnérable. Vous devrez peut-être également désinstaller des modules, composants ou plugins associés.

Vérifier que le Processus de Désinstallation est Complet

Ne faites pas confiance à l'extension pour supprimer correctement tous ses fichiers. Comparez les répertoires et fichiers présents sur votre système à la liste XML de l'extension pour vous assurer que tous les fichiers associés ont bien été supprimés.

Éventuellement, Supprimer les Tables de Base de Données Associées

Vérifiez votre base de données et supprimez toutes les tables créées par l'extension. Afin de faciliter le processus de mise à jour vers de nouvelles versions, de nombreux scripts de désinstallation ne suppriment pas les tables de base de données associées. Vous pouvez trouver la liste des tables dans le fichier XML de chaque extension.

Si vous prévoyez d'installer une version plus sûre et compatible de la même extension et que vous souhaitez réutiliser les données existantes, vous pouvez généralement laisser les tables de base de données telles quelles.

Supprimer les Liens de Menu

Il ne suffit pas de simplement supprimer les liens de menu vers une extension, ou de dépublier un module, pour protéger votre site ! Tant que les fichiers de l'extension existent sur votre serveur, vous restez vulnérable. Remarquez, dans les exemples suivants, comment un attaquant peut contourner le fichier index de Joomla! pour cibler directement n'importe quel fichier, de n'importe quelle extension.

    www.your_site.org/components/com_bad_component/vulnerable_file.php
    www.your_site.org/modules/mod_bad_module/vulnerable_file.php