🇰🇷 한글 설명
Semantic MediaWiki 2.5.0 이상 7.3.1 미만 버전에는 Code 타입 속성 값에서 발생하는 저장형 XSS 취약점이 존재합니다. 페이지 편집 권한을 가진 사용자가 유효한 JSON 값 안에 HTML 마크업을 삽입할 수 있으며, CodeStringValueFormatter가 이를 이스케이프하지 않고 Special:Browse에 렌더링하여 조회자의 세션에서 스크립트가 실행됩니다.
💡 쉬운 설명
위키 문서를 편집할 수 있는 사용자가 특정 입력 칸에 악성 스크립트를 숨겨 저장할 수 있습니다. 다른 사람이 해당 페이지를 열면 그 스크립트가 실행되어 로그인 세션 정보가 탈취될 수 있습니다.
🇺🇸 원문 (English)
SemanticMediaWiki from 2.5.0 before 7.3.1 contains a stored cross-site scripting vulnerability that allows users with page-edit rights to inject script through Code-typed property values. Attackers can annotate a valid JSON value embedding HTML markup, which the CodeStringValueFormatter renders unescaped on Special:Browse, executing JavaScript in viewers' sessions.
📍 영향받는 시스템
Semantic MediaWiki 2.5.0 이상 7.3.1 미만
⚔️ 공격 벡터
페이지 편집 권한을 가진 공격자가 Code 타입 속성에 HTML/스크립트가 포함된 JSON 값을 저장하고, 피해자가 Special:Browse에서 조회 시 스크립트 실행
🛡️ 대응 방법
Semantic MediaWiki를 7.3.1 이상으로 업그레이드
🔧 검증 코드
출력된 version 값이 2.5.0 이상 7.3.1 미만이면 취약하며, 7.3.1 이상이면 패치된 상태입니다. 경로가 다르면 MW_INSTALL_PATH 환경변수를 설정하세요.
grep -rh "wfLoadExtension\|SemanticMediaWiki" $(php -r 'echo getenv("MW_INSTALL_PATH") ?: "/var/www/html";')/LocalSettings.php 2>/dev/null; grep -rh "\"version\"" $(php -r 'echo getenv("MW_INSTALL_PATH") ?: "/var/www/html";')/extensions/SemanticMediaWiki/extension.json 2>/dev/null