
CVE-2026-96878에 대한 보고서 및 개념 증명으로, MediaWiki Cargo의 Exhibit 필드 별칭에서 발생하는 저장형 XSS에 관한 내용이며, 검증 노트와 업스트림 수정 참조를 포함합니다.
보고자: Marco Paciaroni (BomboBombone).
Cargo의 Exhibit 렌더러는 필드 별칭을 텍스트 및 속성 컨텍스트에 맞게 인코딩하지 않고 HTML 표현에 삽입했습니다. 페이지 편집자는 페이지를 조회할 때 별칭이 마크업으로 해석되는 쿼리를 저장할 수 있었습니다.
CVE 레코드는 Cargo 3.9.4까지를 영향을 받는 버전으로 식별합니다.
보고된 시나리오는 Exhibit 형식, 다른 사용자에게 표시되는 페이지를 편집할 수 있는 권한, 그리고 여러 필드가 포함된 쿼리를 필요로 했습니다. 스크립트 실행은 해당 페이지 방문자의 위키 오리진에서 발생했습니다.
원본 보고서는 로컬 MediaWiki 인스턴스의 Exhibit 뷰에서 브라우저 실행이 발생했음을 기록합니다. 일반적인 별칭은 이벤트를 포함하는 요소를 생성하지 않았습니다.
업스트림 변경 사항은 각각의 컨텍스트에서 별칭 텍스트와 속성 값을 인코딩하는 HTML 헬퍼를 사용하여 Exhibit 표현을 구성합니다.
python poc.py TABLE FIELD_ONE FIELD_TWO
이 스크립트는 무해한 DOM 마커가 포함된 Cargo Exhibit 쿼리를 출력합니다. 편집 권한이 있는 테스트 페이지에만 추가하고, 렌더링된 Exhibit 뷰를 확인한 후 제거하십시오.
현재 공개된 CVE 설명은 이 문제를 반사형 XSS로 표시하고 있습니다. 제출된 보고서는 편집 가능한 페이지 콘텐츠에 저장된 쿼리가 이후 페이지 조회에 의해 트리거되는 시나리오를 설명합니다. 이 보고서는 CVE 레코드를 변경하지 않고 해당 저장형 시나리오를 설명합니다.