報告者: Marco Paciaroni (BomboBombone)。
MediaSearch QuickView は CommonsMetadata の LicenseUrl.value をリンク先として直接使用していました。CommonsMetadata は編集可能なファイル説明から licensetpl_link の値をコピーする際に、その URL スキームを制限していませんでした。編集者は javascript: URL を格納でき、訪問者が MediaSearch でそのファイルを開き、表示されたライセンスリンクを辿ると、ウィキのオリジンでスクリプトが実行される可能性がありました。
対になる CVE-2026-103584 は CommonsMetadata 側のソースパスを対象としています。
ローカルのテストウィキで、無害なマーカーを含む使い捨てのファイル説明を使用します:
<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>
次にローカル API をクエリします:
python poc.py --api http://127.0.0.1:8080/w/api.php --title File:LicenseUrlProbe.png
このスクリプトは、API が LicenseUrl.value に実行可能なスキームを返すかどうかを確認します。ブラウザの挙動を確認するには、ローカルの MediaSearch QuickView でファイルを開き、そのライセンスリンクを辿ります。このスクリプトはループバック API URL のみを許可します。