
CVE-2026-102971에 대한 정제된 보고서 및 loopback 전용 PoC로, MediaWiki REST 리비전 응답이 숨겨진 리비전 작성자의 사용자 ID를 유출하는 문제입니다.
보고자: Marco Paciaroni (BomboBombone).
MediaWiki의 RESTBase 호환 판 응답은 이름이 숨겨진 편집자의 숫자 사용자 ID를 포함할 수 있었습니다. 응답은 여전히 user_text를 null로 설정하고 편집자를 숨김으로 표시했지만, 노출된 ID는 공개 사용자 조회 API를 통해 계정에 매핑될 수 있었습니다.
인증되지 않은 호출자가 의도적으로 숨겨진 판 편집자를 해당 편집자의 계정과 연관시킬 수 있었습니다. 이 노출은 편집자 필드가 숨겨진 판과 코어 REST 판 경로를 노출하는 위키를 필요로 합니다.
이 스크립트는 일회용 로컬 페이지를 생성하고, 새 판의 편집자를 숨기고, RESTBase 호환이 활성화된 상태에서 표준 REST 응답을 비교하고, 로컬 공개 사용자 조회가 해당 ID를 확인하는지 검사하고, 페이지와 판 상태를 정리합니다.
루프백의 격리된 MediaWiki 테스트 인스턴스에 대해서만 실행하십시오. 루프백이 아닌 호스트는 거부하며 명시적인 확인 플래그를 요구합니다. 명령줄에서 비밀번호를 받는 대신 테스트 계정 비밀번호를 묻는 메시지를 표시합니다.
python poc.py --base http://127.0.0.1:8080 --username LocalAdmin --confirm-local-test
이 계정은 일회용 페이지를 편집하고 해당 판 편집자를 숨길 권한(suppressrevision)이 필요합니다.