
Relatório sanitizado e script PoC apenas em loopback para CVE-2026-103584, um XSS de esquema de URL javascript: na renderização de LicenseUrl do CommonsMetadata do MediaWiki.
Repórter: Marco Paciaroni (BomboBombone).
O CommonsMetadata copiava o valor de licensetpl_link de uma descrição de arquivo para o campo LicenseUrl dos metadados da imagem sem restringir o esquema da URL. Um editor poderia armazenar uma URL javascript:. Quando uma interface renderizava esses metadados como um link, um visitante que o seguisse poderia executar script na origem da wiki.
O CVE-2026-103585 correspondente cobre o caminho do consumidor MediaSearch QuickView.
Use uma descrição de arquivo descartável em uma wiki de teste local com um 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>
Em seguida, consulte a API local:
python poc.py --api http://127.0.0.1:8080/w/api.php --title File:LicenseUrlProbe.png
O script verifica se a API retorna o esquema executável em LicenseUrl.value. Para observar o comportamento do navegador, abra o arquivo na interface local do MediaSearch e siga seu link de licença. O script permite apenas URLs de API em loopback.