CVE-2026-42810
CriticalSummary
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.
Risk Assessment
This can lead to unauthorized access to data in other tables, as temporary credentials may match the storage paths of different tables.
Recommendation
It is recommended to update Apache Polaris to the latest version to eliminate the ability to use `*` characters in namespace and table names, and to review S3 access policies.
Other vulnerabilities in Apache Polaris
See all- CVE-2026-42811Critical
Apache Polaris is supposed to issue short-lived GCS credentials that only work for one table's files, but a crafted namespace or table name can cause those credentials to work across the configured bucket.
- CVE-2026-42809Critical
Apache Polaris can issue broad temporary ('vended') storage credentials during staged table creation before the effective table location has been validated or durably reserved. An attacker can choose a reachable target location, leading to unauthorized access to table data and metadata.
- CVE-2026-97395High
Apache Polaris allows an authenticated principal with permission to create or update Iceberg table properties to set FileIO client settings such as s3.endpoint in table metadata. In versions < 1.8.0, Polaris may use these settings to construct its server-side FileIO client, potentially redirecting storage traffic to a host chosen by the table writer and exposing authentication material.
- CVE-2026-64640Medium
Apache Polaris did not consistently validate storage locations supplied during table and view registration. An authenticated principal with registration permissions could cause Polaris to use the catalog's storage credentials to read a caller-selected Iceberg metadata file before verifying it was within allowed locations, potentially disclosing limited information. Polaris could also accept registration metadata with references to external locations, but this did not cause reads.
Original NVD description (English source)
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
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

