Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/4xura/cve-2026-44011-craftcms-auth-rce
脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイトウェブセキュリティペネトレーションテストコマンド&コントロールリモートアクセスツール
GitHub
4xura/cve-2026-44011-craftcms-auth-rce

CVE-2026-44011-craftcms-auth-rce

CVE-2026-44011のPoC: 認証済みユーザーによるCraft CMSのRCE。

リポジトリを見る
61825日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-44011 Craft CMS 認証済み RCE PoC

許可されたテストでのみ使用してください。

Craft CMS のアドバイザリでは、影響を受けるバージョンとして >=4.0.0, <4.17.12 および >=5.0.0, <5.9.18 が挙げられており、発見者として precicom-vincent-tl がクレジットされています。

実行

python -m pip install -r requirements.txt
python cve-2026-44011.py -b 'https://example.com' -u '<username' -p '<password>' -c '<command>'

必須引数:

  • -b, --base-url: Craft の URL (http:// または https:// を含む)。
  • -u, --username: コントロールパネルのユーザー名。
  • -p, --password: コントロールパネルのパスワード。
  • -c, --command: 実行し、出力を取得するコマンド。

任意引数:

  • -P, --cp-path: コントロールパネルのパス (デフォルト: /admin)。
  • -s, --site-id: サイト ID (デフォルト: 1)。
  • -e, --element-type: エレメントタイプ (デフォルト: craft\elements\Category)。
  • -f, --csrf-field: ログイン CSRF フィールド名 (デフォルト: CRAFT_CSRF_TOKEN)。
  • -t, --timeout: リクエストおよびコールバックのタイムアウト (秒) (デフォルト: 15)。
  • -F, --force: Craft のバージョンが取得できない、またはアドバイザリの範囲外の場合でも続行する。
  • -H, --callback-host: ターゲットが到達可能なアドレス (デフォルトではローカルアドレスが推測される。ピボット経由の場合は上書きする)。
  • --listen-port: リスナーポート (デフォルト: OS が選択する空きポート。転送する場合は固定ポートを設定する)。

脆弱性の分析

1. 条件の入力

脆弱な検索アクションでは、condition が POST ボディからオブジェクト生成へと、サニタイズされずに渡されます。

$conditionConfig = $this->request->getBodyParam('condition');
$condition = Craft::$app->getConditions()->createCondition($conditionConfig);

2. ネストされたフィールドレイアウト

ElementCondition::setFieldLayouts()は、渡された各配列からレイアウトを構築します。

if (is_array($fieldLayout)) {
    $fieldLayout['type'] = $this->elementType;
    return $fieldsService->createLayout($fieldLayout);
}

3. 呼び出し可能オブジェクトの実行

アドバイザリのペイロードは、as キーを伴う Yii の AttributeTypecastBehavior を付加し、on * でイベントを接続します。このビヘイビアは、Yii の callable 型キャストを経由して Psy\Readline\Hoa\ConsoleProcessus::execute に到達します。

condition.fieldLayouts[]
  -> FieldLayout behavior + event
  -> AttributeTypecastBehavior::typecastValue()
  -> call_user_func()
  -> ConsoleProcessus::execute()

修正済みのコントローラでは、オブジェクト生成の前に条件に対して Component::cleanseConfig() を適用しています。

注意事項

  • Craft の CSRF ドキュメントでは、POST アクションに有効なセッションとトークンが必要です。スクリプトはログインと検索を通じてこれらを保持します。
  • Psy の ConsoleProcessus::execute()は、デフォルトでシェルのメタ文字をエスケープします。PoC は -c を実行するための一時スクリプトを配信し、内蔵の HTTP リスナーでその出力を受け取り、その後リスナーをシャットダウンします。ターゲットが推測されたアドレスに到達できない場合は -H を使用してください。
  • 出力の取得には、ターゲット上に sh、curl、mktemp が必要です。
  • テスト: python -m unittest discover -s tests -v。
ツールをダウンロード