脆弱性
安全でない直接オブジェクト参照 (IDOR)
別称: IDOR, 直接オブジェクト参照脆弱性
定義
アプリが内部オブジェクトへの参照を露出し、ユーザーがその参照を書き換えることで他人のデータにアクセスできてしまうアクセス制御の欠陥。
IDOR は、エンドポイントがユーザー提供の識別子(数値 ID、UUID、ファイル名、口座番号など)を用いてオブジェクトを取得・更新する際に、呼び出し元がそのオブジェクトに対する権限を持つか検証していない状態で発生します。連番 ID や予測可能な参照では悪用が容易で、UUID であっても推測・漏えいの余地があれば安全とは言えません。IDOR はバグバウンティで最も多い指摘の一つで、マルチテナント環境の重大な漏えい原因です。対策には、各リクエストでのサーバー側所有者検証、現在のユーザー/テナントでのクエリ限定、間接参照(セッション単位の不透明マッピング)、横方向アクセスの自動テスト追加があります。
例
- /invoices/1042 を /invoices/1043 に変更して他顧客の請求書を閲覧する。
- プロフィール画像 URL のパラメータを書き換えて、他ユーザーのアバターを上書きする。