
Rapport assaini et PoC limité au loopback pour CVE-2026-102971, une réponse de révision REST de MediaWiki divulguant les identifiants utilisateur des auteurs de révisions masquées.
Rapporteur : Marco Paciaroni (BomboBombone).
La réponse de révision compatible RESTBase de MediaWiki pouvait inclure l'ID utilisateur numérique d'un auteur dont le nom avait été masqué. La réponse définissait toujours user_text à null et marquait l'auteur comme masqué, mais l'ID exposé pouvait être associé à un compte via l'API publique de recherche d'utilisateur.
Un appelant non authentifié pouvait corréler l'auteur d'une révision délibérément masqué avec le compte de cet auteur. La divulgation nécessite une révision dont le champ auteur est masqué et un wiki exposant la route REST de révision du cœur.
Le script crée une page locale jetable, masque l'auteur de sa nouvelle révision, compare la réponse REST standard avec la compatibilité RESTBase activée, vérifie que la recherche publique locale d'utilisateur résout l'ID, et nettoie l'état de la page et de la révision.
Exécutez-le uniquement contre une instance de test MediaWiki isolée sur loopback. Il refuse les hôtes non-loopback et exige un indicateur de confirmation explicite. Il demande le mot de passe du compte de test au lieu de l'accepter sur la ligne de commande.
python poc.py --base http://127.0.0.1:8080 --username LocalAdmin --confirm-local-test
Le compte doit disposer de la permission de modifier une page jetable et de masquer l'auteur de sa révision (suppressrevision).