UNKNOWNCVE-2026-35442
Directus: 認証されたユーザーは、集計クエリを通じて隠されたフィールドを抽出できる
プラットフォーム
nodejs
コンポーネント
directus
修正バージョン
11.17.0
### 概要 `min`、`max` などの集計関数が `conceal` 特殊タイプを持つフィールドに適用されると、マスクされたプレースホルダーではなく、生のデータベース値が誤って返されます。`groupBy` と組み合わせることで、影響を受けるコレクションへの読み取りアクセス権を持つ認証されたユーザーは、隠されたフィールドの値(静的 API トークンや二要素認証のシークレットを含む)を `directus_users` から抽出できます。 ### 詳細 `conceal` でマークされたフィールドは、読み取り時に実際の値をマスクされたプレースホルダーに置き換えるペイロード処理ロジックによって保護されています。この保護は、標準のアイテムクエリでは正しく機能しますが、集計クエリの結果は構造が異なるため、操作が関数名の下にネストされ、フラットなフィールドキーとしては表示されません。マスク処理ロジックはこのネストされた構造を考慮していないため、集計応答で隠されたフィールドをサイレントにスキップし、生の値をクライアントに返します。 ### 影響 - **アカウント乗っ取り** 認証された攻撃者は、管理者を含むすべてのユーザーの静的 API トークンを収集し、資格情報なしに任意のユーザーとして即座に認証できます。 - **2FA バイパス** directus_users に格納されている TOTP シードも同様に抽出できます
修正方法
公式パッチはありません。回避策を確認するか、アップデートを監視してください。