Impact
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 reused unescaped in S3 IAM resource patterns and `s3:prefix` conditions. In S3 IAM policy matching, `*` is treated as a wildcard rather than ordinary text. That means temporary credentials issued for one crafted table can match the storage path of a different table. This allows an attacker to read another table's metadata file, list its S3 prefix, and when write delegation is returned, create and delete objects under that table.
Affected Systems
The vulnerability affects Apache Polaris, specifically versions tested at 1.4.0. Any deployment that allows users to create tables or namespaces with wildcard characters in names is susceptible, regardless of whether the underlying S3 storage uses AWS or MinIO. Users must review their Polaris deployments to determine if wildcard table creation is enabled.
Risk and Exploitability
The CVSS score of 9.4 classifies this as critical. The EPSS score is not available, and the vulnerability is not yet listed in CISA’s KEV catalog. Exploitation requires an authenticated user who has permission to create namespace‑scoped tables with wildcard names. The attack path involves creating a crafted table name (e.g., `f*.t1` or `*.*`), receiving the resulting short‑lived S3 credentials from Polaris, and then using those credentials to access or modify objects in an unrelated table’s bucket. Because the vulnerability hinges on unescaped `*` characters in IAM resource patterns, it can be leveraged to escape directory boundaries and attain read or write access to any S3 location governed by the generated policy.
OpenCVE Enrichment