MediaWiki automatise la recherche de failles de sécurité XSS
2024-06-03
Sur le Web d’aujourd’hui, tous les logiciels sont exposés à des failles plus ou moins graves ; les développeurs et développeuses de ces logiciels doivent toujours veiller à ne pas introduire de problèmes dans le nouveau code (et bien sûr à corriger les problèmes existants). Les XSS – pour Cross-Site Scripting – sont une famille de failles permettant notamment de détourner des informations de l’utilisateur ou plus généralement en exécutant du code JavaScript malveillant, qui pourrait par exemple vous rediriger vers un faux site.
Dans le passé, MediaWiki, comme beaucoup d’autres logiciels, a été touché par des failles XSS présentes dans son code. Désormais, un nouvel outil a été développé pour aider les développeurs à identifier plus facilement certaines des failles XSS, les failles XSS passant par des messages système.
Avec cet outil, tous les messages système (ceux modifiables par les administrateurs du wiki) sont remplacés par du code JavaScript qui se contente d’afficher une boîte de dialogue d’avertissement avec le nom du message en cause : si cette boîte de dialogue apparaît, c’est que du JavaScript arbitraire peut être exécuté et il y a une faille de type XSS. Pour activer cet outil, il faut configurer un paramètre côté serveur (à ne pas mettre en production !) et ajouter le paramètre &uselang=x-xss
dans la barre d’adresse.
Vous pourriez vous dire que, vu que les messages système ne sont modifiables que par les administrateurs, ces messages devraient être fiables et ne pas contenir de code malveillant : les administrateurs sont effectivement généralement honnêtes et ne cherchent pas à piéger les utilisateurs, mais un risque reste toutefois si un administrateur se fait voler son compte.
Cet outil a été développé pour MediaWiki 1.41 (sorti en décembre 2023) et plusieurs failles XSS ont été identifiées et corrigées, y compris sur des versions plus anciennes encore supportées (1.35, 1.39, 1.40).
Cet outil vient s’ajouter à un précédent, phan-taint-check-plugin, qui vérifie également les potentielles failles XSS mais de façon plus générale, non-limitée aux seuls messages système. Cet autre outil est cependant plus complexe à utiliser.
Tâche Phabricator sur la création de ce nouvel outil