CVE-2026-42812
Path Traversal in Apache Polaris
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 | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-284 | The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor. |
| CWE-732 | The product specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors. |
| CWE-863 | The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. |
| 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. |
Attack-Flow Graph
AI Powered Q&A
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, ensure that the configuration flag `polaris.config.allow.unstructured.table.location` is set to false to prevent unstructured table locations from being allowed.
Additionally, restrict the `allowedLocations` setting to a narrow, well-defined set of storage paths to prevent attacker-chosen locations from being accepted.
Avoid allowing users to change the `write.metadata.path` property through ALTER TABLE-style settings changes without proper validation.
Can you explain this vulnerability to me?
This vulnerability exists in Apache Iceberg's integration with Polaris, where the table's metadata files control which data files belong to a table and which table version to read.
The issue arises when changing the optional table property `write.metadata.path` through an ALTER TABLE-style settings change. This change bypasses the commit-time validation branch that is supposed to revalidate storage locations.
If the affected catalog is configured with `polaris.config.allow.unstructured.table.location=true` and has a broad enough `allowedLocations` allowlist, an attacker who can change table settings can cause Polaris to write new table metadata to an attacker-chosen storage location before validation occurs.
This can lead to Polaris persisting metadata paths to attacker-controlled locations and later handing out temporary cloud-storage credentials for those locations without revalidating them.
The attacker-chosen storage location can be broad, potentially affecting other tables or even entire storage buckets, leading to exposure, modification, corruption, or removal of data and metadata.
The core defect is that Polaris skips intended location checks before performing security-sensitive metadata writes when only `write.metadata.path` changes.
How can this vulnerability impact me? :
This vulnerability can have severe impacts including unauthorized exposure, modification, corruption, or removal of data and metadata stored in cloud storage locations accessible by Polaris.
An attacker with permission to change table settings can cause Polaris to write metadata to attacker-controlled storage locations and potentially receive temporary credentials granting access to those locations.
If the attacker-chosen location is broad, such as a storage bucket root or another table's prefix, the scope of data compromise can be extensive.
This can lead to data breaches, data integrity issues, and loss of availability for affected data.