
Notes de vérification de PoC et de correctif pour CVE-2026-100380, une XSS réfléchie dans les pages d'erreur de validation linguistique de Wikibase, avec un script qui détecte la sortie HTML non échappée.
Rapporteur : Marco Paciaroni (BomboBombone).
Wikibase incluait du texte d'erreur de validation de langue non échappé dans la page SetLabel. Une entrée rejetée pouvait être renvoyée sous forme de HTML exécutable avant que la requête n'atteigne l'opération d'enregistrement du label.
L'enregistrement CVE identifie les branches de publication Wikibase affectées avant les correctifs dans 1.46.1, 1.45.5 et 1.43.10. Utilisez le code de l'extension corrigée pour la branche de publication MediaWiki correspondante.
La validation archivée enregistre une requête non authentifiée et une exécution dans le navigateur sur l'origine du wiki. Aucun enregistrement de label n'a été atteint. Le rejet d'une écriture ne protège pas une page d'erreur qui rend une entrée non fiable sous forme de HTML.
Les preuves du cas archivé enregistrent une réponse HTTP locale réussie et l'exécution dans le navigateur d'un marqueur inoffensif. Elles enregistrent séparément qu'aucun enregistrement de label n'a eu lieu. Ce résumé public est basé sur ces enregistrements de validation et les notes de recherche associées.
La modification en amont échappe en HTML les messages d'erreur dans l'édition des termes et les pages spéciales associées avant leur rendu.
python poc.py https://wiki.example --entity Q1
Le script envoie une valeur de langue invalide contenant un marqueur inoffensif et vérifie si la réponse le renvoie sous forme d'élément script brut. Le chemin affecté rejette la requête avant d'enregistrer un label.