CVE-2026-42810
Polaris S3 Access Policy Wildcard Injection
Publication date: 2026-05-04
Last updated on: 2026-05-04
Assigner: Apache Software Foundation
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| apache | polaris | From 1.4.0 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-20 | The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. |
| CWE-116 | The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows unauthorized access to sensitive metadata and data files across different tables in Apache Polaris, including the ability to read, list, create, and delete objects in other tables' S3 storage locations.
Such unauthorized access to confidential data and the ability to modify it can lead to violations of data protection regulations and standards like GDPR and HIPAA, which require strict controls on data confidentiality, integrity, and access.
Because the vulnerability enables cross-table data exposure and modification despite least-privilege permissions, it poses a significant risk to compliance with these regulations.
Can you explain this vulnerability to me?
This vulnerability exists in Apache Polaris where literal '*' characters are accepted in namespace and table names. When Polaris builds temporary S3 access policies for delegated table access, these '*' characters are reused unescaped in S3 IAM resource patterns and conditions.
In S3 IAM policy matching, '*' is treated as a wildcard, not as ordinary text. This allows temporary credentials issued for one specially crafted table name containing '*' to match and access the storage paths of different tables.
Testing showed that credentials for crafted tables like 'f*.t1', 'f*.*', '*.*', and 'foo.*' could access other tables' S3 locations, including reading metadata files, listing table prefixes, and even creating or deleting objects under other tables' prefixes.
This means unauthorized cross-table access is possible, violating expected access controls.
How can this vulnerability impact me? :
This vulnerability can lead to unauthorized access to other tables' data stored in S3, including sensitive metadata files that control which data files belong to a table and its versions.
An attacker could read confidential metadata, list contents of other tables, and if write permissions are delegated, create or delete objects in other tables' storage locations.
Such unauthorized read and write access compromises data confidentiality and integrity, potentially leading to data leakage, tampering, or loss.