
CVE-2026-103584에 대한 정제된 보고서 및 루프백 전용 PoC 스크립트로, MediaWiki CommonsMetadata LicenseUrl 렌더링에서 발생하는 javascript: URL 스킴 XSS입니다.
보고자: Marco Paciaroni (BomboBombone).
CommonsMetadata는 파일 설명에서 licensetpl_link 값을 이미지 메타데이터의 LicenseUrl 필드로 복사하면서 URL 스킴을 제한하지 않았습니다. 편집자는 javascript: URL을 저장할 수 있었습니다. 인터페이스가 해당 메타데이터를 링크로 렌더링할 때, 그 링크를 따라간 방문자는 위키 오리진에서 스크립트를 실행할 수 있었습니다.
짝을 이루는 CVE-2026-103585는 MediaSearch QuickView 소비 경로를 다룹니다.
무해한 마커와 함께 로컬 테스트 위키의 일회용 파일 설명을 사용하세요:
<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 인터페이스에서 파일을 열고 라이선스 링크를 따라가세요. 이 스크립트는 루프백 API URL만 허용합니다.