
CVE-2026-92592のPythonによる概念実証エクスプロイトです。これはCraft CMSにおける認証済みRCEであり、署名済みのlicense-shun Cookieを悪用してTwigペイロードを実行し、コマンドを実行します。
CVE-2026-92592 / GHSA-5r92-75j8-c534 の概念実証です。Craft は、認証済みの license-shun cookie 内の攻撃者が制御するデータに、署名付きログインリダイレクトで使用されるのと同じキーとフォーマットで署名します。その署名済みの値を redirect として再利用すると、Craft はそれをサンドボックス化されていない Twig としてレンダリングし、Twig の map('system') の挙動を通じてコマンド実行を可能にします。
Craft CMS 4.8.0 から 4.18.5、および 5.0.0 から 5.10.12 が影響を受けます。4.18.6 または 5.10.13 以降にアップグレードしてください。Craft 5.9.8 が影響を受けます。
これは、自身が所有するシステム、またはテストを許可されているシステムに対してのみ使用してください。
requestscookieValidationKey と Craft の securityKey の間のデフォルトの関係system()、sh、base64分離された環境を作成し、Python パッケージをインストールします:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
ターゲット URL、ユーザー名、パスワード、コマンドを指定してエクスプロイトを実行します:
python3 craftcms_rce.py \
-t https://craft.example \
-u author \
-p 'password' \
'id'
コマンドラインで指定したパスワードは、シェル履歴やプロセス一覧に表示される可能性があります。一時的なテスト用認証情報を使用してください。HTTP デバッグプロキシには --proxy を、ターゲットが検証できない証明書を使用している場合に限り --insecure を指定してください。
コマンドの stdout と stderr は結合され、stdout に出力されます。すべてのオプションについては python3 craftcms_rce.py --help を実行してください。
app/set-license-shun-cookie に送信し、Craft の署名済み cookie 値を取得します。redirect パラメータとして送信します。