
Informe saneado y script PoC solo para loopback que demuestra XSS almacenado mediante URLs de licencia javascript: en MediaSearch QuickView (CVE-2026-103585).
Reportero: Marco Paciaroni (BomboBombone).
MediaSearch QuickView utilizaba LicenseUrl.value de CommonsMetadata directamente como destino de un enlace. CommonsMetadata copiaba el valor de licensetpl_link desde una descripción de archivo editable sin restringir su esquema de URL. Un editor podía almacenar una URL javascript:; un visitante que abriera ese archivo en MediaSearch y siguiera el enlace de licencia mostrado podría ejecutar script en el origen del wiki.
El CVE-2026-103584 emparejado cubre la ruta de origen de CommonsMetadata.
Utilice una descripción de archivo desechable en un wiki de prueba local con un marcador inofensivo:
<span class="licensetpl"><span class="licensetpl_link">javascript:alert("CVE_LICENSE_URL_XSS")</span><span class="licensetpl_short">Test license</span><span class="licensetpl_long">Local test</span></span>
Luego consulte la API local:
python poc.py --api http://127.0.0.1:8080/w/api.php --title File:LicenseUrlProbe.png
El script comprueba si la API devuelve el esquema ejecutable en LicenseUrl.value. Para observar el comportamiento del navegador, abra el archivo en el MediaSearch QuickView local y siga su enlace de licencia. El script solo permite URL de API de loopback.