| タイトル | Apache Software FoundationのPolarisにおける複数の脆弱性 |
|---|---|
| 概要 | Apache Icebergでは、テーブルのメタデータファイルは制御ファイルとして機能し、どのデータファイルがテーブルに属し、どのテーブルバージョンをリーダーが読むべきかを伝えます。`write.metadata.path`はオプションのテーブルプロパティであり、Polarisにこれらのメタデータファイルを書き込む場所を指示します。Polaris管理カタログに既に登録されているテーブルに対し、そのプロパティだけを`ALTER TABLE`スタイルの設定変更(行レベルの`INSERT`、`SELECT`、`UPDATE`、`DELETE`ではない)で変更すると、ストレージ場所の再検証を行うはずのコミット時の分岐処理をバイパスしてしまいます。完全な永続化版またはクレデンシャル発行版は、対象のカタログが`polaris.config.allow.unstructured.table.location=true`を有効にしており、`allowedLocations`が攻撃者の指定したターゲットを含むほど幅広く設定されている必要があります。`allowedLocations`は、カタログが使用可能なストレージパスの管理者設定許可リストです。公開されているプロジェクト資料によると、このフラグは単なる実験環境の前提ではなく、実際にサポートされている互換性およびレイアウトモードです。この設定下では、テーブル設定を変更可能なユーザーがApache Polaris自体に新しいテーブルメタデータを攻撃者が指定したアクセス可能なストレージ場所へ書き込ませることが可能です。そして、本来の場所検証処理が走る前にその操作が実行されます。もし後続の具体的なパス検証でも当該場所を受け入れた場合、Polarisは生成されたメタデータパスを保存されたテーブル状態に永続化します。その後のテーブル読み込みやクレデンシャルAPIは、その場所の一時的なクラウドストレージ認証情報を再検証せずに返すことができます。簡単に言うと、Polarisは後に攻撃者指定の領域の一時的ストレージアクセスを付与しうるということです。攻撃者指定の領域は、汚染されたテーブル自身のファイルにとどまらず、広範なストレージプレフィックス、他のテーブルのプレフィックス、構成やプロバイダの挙動次第ではバケットやコンテナのルートまで及ぶ可能性があります。その結果、Polarisが到達可能なあらゆるデータおよびメタデータの漏洩や改ざんの範囲が拡大します。実際の影響は既に議論されたステージド作成型クレデンシャル発行問題と類似し、そのストレージ範囲内のデータやメタデータは露出し、後に書き込み可能な認証情報が発行されれば改変・破壊・削除もされる可能性があります。後の認証情報発行のステップより前であっても、Polaris自身が検証されていない場所にメタデータを書き込みます。したがって、問題の核心は単に後の認証情報発行だけではありません。主要な欠陥は、`write.metadata.path`が変更された場合にPolarisが本来の場所チェックをスキップしてしまう点にあります。`polaris.config.allow.unstructured.table.location=false`の場合、現在のコードレビューによれば、後続の`updateTableLike(...)`検証は通常、危険なパスが永続化される前に不正なメタデータ場所を拒否します。これは永続化や認証情報発行のバリエーションを減少させる可能性がありますが、根本的な欠陥を防止することはできません。つまり、`write.metadata.path`だけが変更された場合、Polarisは本来の書き込み前の場所検証を依然としてスキップしてしまいます。 |
| 想定される影響 | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 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 |
| 概要 | In Apache Iceberg, the table's metadata files are control files: they tell readers `write.metadata.path` is an optional table property that tells Polaris The full persisted / credential-vending variant requires the affected `allowedLocations` is the admin-configured allowlist of storage paths that In that configuration, a user who can change table settings can cause Apache Polaris If the later concrete-path validation also accepts that location, Polaris That attacker-chosen area does not need to be limited to the poisoned The practical consequences are therefore similar to the staged-create So the core issue is not only later credential vending. The primary defect When `polaris.config.allow.unstructured.table.location=false`, current code |
|---|---|
| 公表日 | 2026年5月5日2:16 |
| 登録日 | 2026年5月5日4:07 |
| 最終更新日 | 2026年5月6日4:32 |