| 概要 |
MISP Coreには、イベントレポートおよび共有グループの一括削除処理においてアクセス制御の欠陥がありました。影響を受けるdeleteSelectionハンドラーは、各選択オブジェクトの認可を検証する代わりに、広範なロールレベルの権限で削除を許可していました。イベントレポートに関しては、EventReportsController::deleteSelectionはレポートごとの所有権や認可チェックを行わず、グローバルなperm_add権限に依存していました。そのため、寄稿者レベルのユーザーが他組織のレポートIDまたはUUIDを送信し、インスタンス全体でハード削除できる状態でした。修正により削除前に各選択レポートについてEventReport::fetchIfAuthorized($user, $itemId, 'delete')が呼ばれるようになりました。共有グループに関しては、SharingGroupsController::deleteSelectionが各選択共有グループの所有権を検証せず、グローバルなperm_sharing_group権限に依存していました。これにより、共有グループ権限を持つユーザーが他組織の共有グループをハード削除でき、単一オブジェクト削除時に使用される所有権ゲートを回避していました。修正で各選択共有グループに対しSharingGroup::checkIfOwner($user, $itemId)が呼ばれるように変更されました。認証済みで該当の広範なロール権限を持つ攻撃者は、影響を受ける一括削除エンドポイントを悪用し、自組織の認可範囲外のオブジェクトを削除できるため、インスタンス全体でイベントレポート内容や共有グループ設定が失われる可能性があります。
|