En bref

  • CVE-2026-100382 : injection de commandes OS critique (CVSS 10.0) dans l'extension ExternalData de MediaWiki, permettant une RCE sans authentification via le parser wikitext ou l'API Lua
  • Affecte toutes les versions d'ExternalData antérieures à 3.7 ; exploitation active confirmée avec PoC public disponible et wikis déjà compromis hébergeant des webshells
  • Action urgente : mettre à jour ExternalData vers la version 3.7 immédiatement ; en attendant, désactiver le connecteur EDConnectorExe dans la configuration ExternalData

Les faits

CVE-2026-100382 est une vulnérabilité d'injection de commandes OS de sévérité maximale affectant l'extension ExternalData pour MediaWiki. Avec un score CVSS v3.1 de 10.0 (vecteur : AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H), elle permet à tout attaquant distant non authentifié d'exécuter des commandes système arbitraires sur le serveur hébergeant le wiki. Aucune condition préalable, aucun compte utilisateur, aucune interaction humaine n'est nécessaire pour exploiter cette faille.

L'extension ExternalData est un composant populaire de MediaWiki permettant d'importer des données depuis des sources externes : URL HTTP, bases de données, fichiers locaux, et — c'est ici que réside la faille — des programmes exécutables via le connecteur EDConnectorExe. La fonction parser #get_program_data construit une commande shell côté serveur en interpolant des paramètres fournis par l'utilisateur dans un template de commande défini par l'administrateur. Ces paramètres sont injectés sans re-quotation adéquate, et le mécanisme de tokenisation par espaces peut être contourné via l'API Lua/Scribunto en utilisant des paramètres nommés contenant des espaces dans leurs noms.

Concrètement, un attaquant peut soumettre une requête wikitext ou un appel Lua malicieusement forgé qui, lors de son traitement par le parser MediaWiki, déclenche l'exécution d'une commande shell arbitraire dans le contexte du compte de service du serveur web (typiquement www-data, apache ou nginx). Cette exécution de code au niveau OS permet de lire des fichiers de configuration sensibles, de créer des backdoors persistants (webshells PHP), d'exfiltrer les données de la base de données MediaWiki, et de pivoter vers d'autres systèmes accessibles depuis le serveur.

La vulnérabilité a été divulguée publiquement le 25 septembre 2026. L'exploitation active a débuté dans les 24 heures suivant la divulgation — une vitesse d'exploitation record qui illustre l'attractivité des failles CVSS 10.0 avec PoC public pour les acteurs malveillants opportunistes. Selon SecurityOnline.info, des administrateurs de wikis ont signalé des tentatives automatisées dès le lendemain de la publication, et plusieurs wikis compromis hébergeant des webshells ont été documentés dans la semaine suivant la divulgation.

Un PoC (proof-of-concept) public est disponible, notamment via le repository nth347 référencé sur Sploitus (identifiant 3B63F433-A5FA-50AD-8361-312FD3C19CD5). La disponibilité d'un exploit fonctionnel public abaisse significativement la barre d'entrée pour les attaquants : des scripts d'exploitation automatisés ciblant tous les MediaWiki exposés avec ExternalData sont désormais accessibles, rendant les scans de masse et les attaques automatisées inévitables.

MediaWiki est le logiciel wiki open-source le plus utilisé au monde, notamment pour Wikipédia et des milliers de wikis d'entreprise, de documentation technique et de knowledge bases internes. L'extension ExternalData est répandue dans les déploiements MediaWiki d'organisations utilisant leur wiki comme outil d'agrégation de données provenant de sources multiples. Selon Rapid7, la surface d'attaque inclut des wikis appartenant à des universités, des administrations publiques, des entreprises industrielles et des structures de recherche.

La version corrigée 3.7 de l'extension ExternalData résout la faille en trimant et normalisant les noms de paramètres Lua pour fermer le vecteur de bypass basé sur les espaces, et en ajoutant un support de configuration permettant de désactiver des connecteurs ou parsers individuels. La possibilité de désactiver spécifiquement EDConnectorExe constitue une mitigation importante pour les administrateurs qui ne peuvent pas mettre à jour immédiatement, car c'est le connecteur spécifiquement abusé par l'exploit documenté.

Il est important de noter que la faille nécessite que l'extension ExternalData soit installée ET que le connecteur de programmes exécutables (EDConnectorExe) soit activé dans la configuration du wiki. Les wikis n'utilisant pas cette extension, ou n'ayant pas activé le connecteur d'exécution de programmes, ne sont pas exposés à CVE-2026-100382. Cependant, la présence du connecteur n'est pas toujours évidente pour les administrateurs ayant hérité d'une configuration existante.

Impact et exposition

L'impact d'une exploitation réussie de CVE-2026-100382 est total sur le serveur hébergeant le wiki : compromission complète du système de fichiers accessible au compte de service web, accès en lecture/écriture à la base de données MediaWiki (utilisateurs, mots de passe hashés, contenus), possibilité d'installer des backdoors persistants invisibles dans les répertoires de l'application, et potentiel de mouvement latéral vers d'autres systèmes du réseau interne accessibles depuis le serveur compromis.

Pour les organisations françaises et européennes, les wikis d'entreprise hébergent souvent des informations particulièrement sensibles : documentation technique interne, procédures opérationnelles, données de projets confidentiels, parfois même des identifiants ou des clés d'API documentés. Une compromission de ces contenus peut constituer une violation de données au sens du RGPD, déclenchant une obligation de notification à la CNIL sous 72 heures.

La combinaison PoC public + CVSS 10.0 + exploitation active documentée place CVE-2026-100382 dans la catégorie des vulnérabilités à patcher en urgence absolue. Les wikis accessibles depuis Internet sont les plus exposés, mais des wikis internes accessibles depuis un réseau non segmenté peuvent également être ciblés par un attaquant ayant un accès initial réseau (VPN compromis, machine interne infectée).

Les indicateurs de compromission observés incluent la présence de fichiers PHP inhabituels dans les répertoires MediaWiki (extensions/, images/, cache/), des processus enfants inattendus lancés par le compte du serveur web, des connexions réseau sortantes depuis le serveur wiki vers des adresses IP non connues, et des entrées d'accès aux endpoints ExternalData dans les logs Apache/nginx avec des payloads contenant des espaces dans les noms de paramètres Lua.

Recommandations immédiates

  • Mettre à jour l'extension ExternalData vers la version 3.7 ou supérieure — advisory : MediaWiki Security Release ExternalData 3.7 ; via le gestionnaire d'extensions MediaWiki ou en remplaçant manuellement les fichiers de l'extension dans le répertoire extensions/ExternalData/
  • Si mise à jour impossible immédiatement : désactiver le connecteur EDConnectorExe en ajoutant dans LocalSettings.php la directive de désactivation du connecteur de programme dans la configuration ExternalData
  • Auditer les fichiers récemment modifiés dans le répertoire MediaWiki : find /var/www/mediawiki -name "*.php" -newer /var/www/mediawiki/LocalSettings.php -ls
  • Analyser les logs d'accès pour des requêtes vers index.php ou l'API avec des paramètres contenant des espaces dans les noms de paramètres Lua (caractéristique de l'exploit)
  • Restreindre l'accès aux wikis MediaWiki non publics via authentification préalable ou restriction IP au niveau du serveur web si le wiki n'est pas destiné à un accès public
  • Révoquer et régénérer les secrets MediaWiki ($wgSecretKey) et changer les mots de passe des comptes administrateurs si une compromission est suspectée

⚠️ Urgence

CVSS 10.0 avec exploitation active confirmée et PoC public disponible. Des wikis sont déjà compromis avec des webshells installés. Si vous administrez un MediaWiki avec ExternalData, considérez votre instance comme potentiellement compromise si elle était accessible publiquement avant application du patch ExternalData 3.7. Une investigation forensique est recommandée en complément de la mise à jour.

Comment savoir si je suis vulnérable ?

Vérifiez si l'extension ExternalData est installée : consultez la page Spéciale:Version de votre wiki (accessible à /wiki/Spéciale:Version) et cherchez ExternalData dans la section Extensions. Si la version affichée est inférieure à 3.7, vous êtes vulnérable. Pour vérifier si le connecteur de programme est activé, cherchez dans vos fichiers de configuration (LocalSettings.php ou les fichiers inclus) les entrées EDConnectorExe ou le connecteur de programme dans la configuration ExternalData. Si EDConnectorExe est désactivé, le risque d'exploitation via ce vecteur est atténué même sur une version vulnérable.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.

Demander un audit