製品・ソフトウェアに関する情報
Apache Software FoundationのPolarisにおける複数の脆弱性
Title Apache Software FoundationのPolarisにおける複数の脆弱性
Summary

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ファイルは制御ファイルであり、どのデータファイルがテーブルに属するか、どのスナップショットが存在するか、どのテーブルバージョンを読むかを示します。したがって、不正アクセスは重大な機密性の問題を引き起こします。書き込み可能なバリアントが確認されたことで、この問題は情報漏洩に限らず、より深刻な問題であることが示されています。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date May 4, 2026, midnight
Registration Date May 14, 2026, 10:12 a.m.
Last Update May 14, 2026, 10:12 a.m.
CVSS3.0 : 緊急
Score 9.9
Vector CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Affected System
Apache Software Foundation
Polaris 1.4.1 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年05月14日]
  掲載
May 14, 2026, 10:12 a.m.

NVD Vulnerability Information
CVE-2026-42810
Summary

Apache Polaris accepts literal `*` characters in namespace and table names. When it
later builds temporary S3 access policies for delegated table access, those
same characters appear to be reused unescaped in S3 IAM resource patterns
and
`s3:prefix` conditions.

In S3 IAM policy matching, `*` is treated as a wildcard rather than as
ordinary text. That means temporary credentials issued for one crafted table
can match the storage path of a different table.

In private testing against Polaris 1.4.0 using Polaris' AWS S3 temporary-
credential path on both MinIO and real AWS S3, credentials returned for
crafted tables such as `f*.t1`, `f*.*`, `*.*`, and `foo.*` could reach other
tables' S3 locations.

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
and
deleting an object under another table's exact S3 table prefix.

A control case using ordinary different names did not allow the same
cross-table access.

A least-privilege AWS S3 variant was also confirmed in which the attacker
principal had no Polaris permissions on the victim table and only the
minimal permissions required to create and use a crafted wildcard table
(namespace-scoped `TABLE_CREATE` and `TABLE_WRITE_DATA` on `*`). In that
setup, direct Polaris access to `foo.t1` remained forbidden, but the
attacker
could still create and load `*.*`, receive delegated S3 credentials, and use
those credentials to list, read, create, and delete objects under `foo.t1`.

In Iceberg, the metadata JSON file is a control file: it tells readers which
data files belong to the table, which snapshots exist, and which table
version
to read. So unauthorized access to it is already a meaningful
confidentiality
problem. The confirmed write-capable variant means the issue is not limited
to
disclosure.

Publication Date May 5, 2026, 2:16 a.m.
Registration Date May 5, 2026, 4:07 a.m.
Last Update May 6, 2026, 4:32 a.m.
Related information, measures and tools
Common Vulnerabilities List