
CVE-2026-96874에 대한 개념 증명 및 패치 검증 노트로, MediaWiki Cargo Drilldown 탭 레이블이 원시 HTML로 렌더링될 때 발생하는 저장형 XSS입니다.
보고자: Marco Paciaroni (BomboBombone).
Cargo는 Drilldown 탭 레이블을 페이지 메타데이터에 저장하고 이를 원시 HTML로 렌더링했습니다. 템플릿 편집자가 제어하는 레이블은 Drilldown 페이지를 조회할 때 실행 가능한 마크업이 될 수 있었습니다.
CVE 레코드는 Cargo 3.9.4까지를 영향을 받는 버전으로 식별합니다.
공격자는 Cargo를 선언하는 템플릿을 편집할 권한이 필요했습니다. 공개 Cargo 쿼리가 활성화된 경우, 영향을 받는 Drilldown 페이지 방문자에는 익명 사용자와 권한 있는 계정이 포함될 수 있었습니다. 스크립트 실행은 위키 오리진에서 발생했습니다.
원본 보고서에는 일반 계정에 의한 템플릿 편집과 익명 방문 중 브라우저 실행이 기록되어 있습니다. 일반 레이블을 복원하자 관찰된 동작이 사라졌습니다.
업스트림 변경 사항은 레이블을 원시 HTML로 허용하는 대신, 텍스트 이스케이프를 수행하는 HTML 헬퍼로 탭 링크 레이블을 렌더링합니다.
python poc.py ExistingCargoTable Name --wiki https://wiki.example
이 스크립트는 무해한 DOM 마커가 포함된 Cargo 선언과 해당 Drilldown URL을 출력합니다. 편집 권한이 있는 테스트 템플릿에만 적용한 후 원래 선언을 복원하십시오.