| タイトル | Apache Software FoundationのPolarisにおける複数の脆弱性 |
|---|---|
| 概要 | Apache Polarisは名前空間およびテーブル名にリテラルの`*`文字を受け入れます。後で、委任テーブルアクセス用の一時的なS3アクセスポリシーを構築する際に、これらの文字がS3 IAMリソースパターンや`s3:prefix`条件でエスケープされずに再利用されているように見えます。S3 IAMポリシーマッチングでは、`*`は通常のテキストとしてではなくワイルドカードとして扱われます。つまり、作成されたあるテーブルに対して発行された一時的な資格情報が異なるテーブルのストレージパスと一致する可能性があります。Polaris 1.4.0を対象としたプライベートテストにおいて、MinIOおよび実際のAWS S3上でPolarisのAWS S3一時資格情報パスを使用し、`f*.t1`、`f*.*`、`*.*`、および`foo.*`のような作成されたテーブルに対する資格情報は他のテーブルのS3ロケーションにアクセスできました。確認された挙動には以下が含まれます:- 他のテーブルのメタデータ制御ファイル([IcebergメタデータJSON])を読み取ること;- 他のテーブルの正確なS3テーブルプレフィックスを一覧表示すること([テーブルプレフィックス]);- および、作成されたテーブルに対して書き込みが委任された場合、他のテーブルの正確なS3テーブルプレフィックス下にオブジェクトを作成および削除できること。通常の異なる名前を使用したコントロールケースでは、同様のクロステーブルアクセスは許可されませんでした。最小特権のAWS S3バリアントも確認されており、攻撃者プリンシパルは被害テーブルに対するPolaris権限を持たず、ワイルドカードテーブルの作成と使用に最低限必要な権限(名前空間スコープの`TABLE_CREATE`および`TABLE_WRITE_DATA`を`*`に対して)だけを持っていました。そのセットアップでは、`foo.t1`への直接的なPolarisアクセスは依然として禁止されていましたが、攻撃者は`*.*`を作成しロードして委任されたS3資格情報を受け取り、その資格情報を使って`foo.t1`下のオブジェクトを一覧表示、読み取り、作成、削除できました。IcebergではメタデータJSONファイルは制御ファイルであり、どのデータファイルがテーブルに属するか、どのスナップショットが存在するか、どのテーブルバージョンを読むかを示します。したがって、不正アクセスは重大な機密性の問題を引き起こします。書き込み可能なバリアントが確認されたことで、この問題は情報漏洩に限らず、より深刻な問題であることが示されています。 |
| 想定される影響 | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月4日0:00 |
| 登録日 | 2026年5月14日10:12 |
| 最終更新日 | 2026年5月14日10:12 |
| CVSS3.0 : 緊急 | |
| スコア | 9.9 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| Apache Software Foundation |
| Polaris 1.4.1 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月14日] 掲載 |
2026年5月14日10:12 |
| 概要 | Apache Polaris accepts literal `*` characters in namespace and table names. When it In S3 IAM policy matching, `*` is treated as a wildcard rather than as In private testing against Polaris 1.4.0 using Polaris' AWS S3 temporary- The confirmed behavior includes: - reading another table's metadata control file ([Iceberg metadata JSON]); - listing another table's exact S3 table prefix ([table prefix]); - and, when write delegation was returned for the crafted table, creating A control case using ordinary different names did not allow the same A least-privilege AWS S3 variant was also confirmed in which the attacker In Iceberg, the metadata JSON file is a control file: it tells readers which |
|---|---|
| 公表日 | 2026年5月5日2:16 |
| 登録日 | 2026年5月5日4:07 |
| 最終更新日 | 2026年5月6日4:32 |