Cyber Posture

CVE-2026-42812

Critical

Published: 04 May 2026

Published
04 May 2026
Modified
04 May 2026
KEV Added
Patch
CVSS Score 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
EPSS Score 0.0006 17.8th percentile
Risk Priority 20 60% EPSS · 20% KEV · 20% CVSS

Description

In Apache Iceberg, the table's metadata files are control files: they tell readers which data files belong to the table and which table version to read. `write.metadata.path` is an optional table property that tells Polaris where to write those metadata…

more

files. For a table already registered in a Polaris-managed catalog, changing only that property through an `ALTER TABLE`-style settings change (not a row-level `INSERT`, `SELECT`, `UPDATE`, or `DELETE`) bypasses the commit-time branch that is supposed to revalidate storage locations. The full persisted / credential-vending variant requires the affected catalog to have `polaris.config.allow.unstructured.table.location=true`, with `allowedLocations` broad enough to include the attacker-chosen target. `allowedLocations` is the admin-configured allowlist of storage paths that the catalog is allowed to use. Public project materials suggest that this flag is a real supported compatibility / layout mode, not just a contrived lab-only prerequisite. In that configuration, a user who can change table settings can cause Apache Polaris itself to write new table metadata to an attacker-chosen reachable storage location before the intended location-validation branch runs. If the later concrete-path validation also accepts that location, Polaris persists the resulting metadata path into stored table state. Later table-load and credential APIs can then return temporary cloud-storage credentials for the same location without revalidating it. In plain terms, Polaris can later hand out temporary storage access for the same attacker-chosen area. That attacker-chosen area does not need to be limited to the poisoned table's own files. If it is a broader storage prefix, another table's prefix, or, depending on configuration or provider behavior, even a bucket/container root, the resulting disclosure or corruption scope can extend to any data and metadata Polaris can reach there. The practical consequences are therefore similar to the staged-create credential-vending issue already discussed: data and metadata reachable in that storage scope can be exposed and, if write-capable credentials are later issued, modified, corrupted, or removed. Even before that later credential step, Polaris itself performs the metadata write to the unchecked location. So the core issue is not only later credential vending. The primary defect is that Polaris skips its intended location checks before performing a security- sensitive metadata write when only `write.metadata.path` changes. When `polaris.config.allow.unstructured.table.location=false`, current code review suggests the later `updateTableLike(...)` validation usually rejects out-of-tree metadata locations before the unsafe path is persisted. That may reduce the persisted / credential-vending variant, but it does not prevent the underlying defect: Polaris still skips the intended pre-write location check when only `write.metadata.path` changes.

Likely Mitigating ControlsAI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

The access control policy and procedures directly mandate and enforce proper access control mechanisms across the organization.

Associating and retaining security attributes with data directly supports enforcement of access control decisions across storage, processing, and transmission.

Control assessments verify that access controls are implemented correctly and operating as intended, detecting improper access control before exploitation.

Certification requires independent assessment confirming access controls are implemented correctly and effective.

Enforcing physical and logical access restrictions for system changes directly prevents unauthorized actors from modifying the system.

Formal authorization processes require review and approval of access control mechanisms before systems are permitted to operate, directly reducing the likelihood of improper access control weaknesses reaching production.

Program provides ongoing monitoring and handling of access-control violations that insiders could otherwise exploit undetected.

Data governance body defines and oversees organizational access control policies for data resources, reducing improper access control.

Security SummaryAI

CVE-2026-42812 is a high-severity vulnerability in Apache Polaris, a catalog managing Apache Iceberg tables, stemming from improper validation of storage locations during metadata operations. Apache Iceberg uses metadata files as control files to specify which data files belong to a table and the correct table version for readers. The `write.metadata.path` table property optionally directs where these metadata files are written. For tables already registered in a Polaris-managed catalog, altering only this property via an ALTER TABLE-style settings change—without row-level INSERT, SELECT, UPDATE, or DELETE operations—bypasses the commit-time branch intended to revalidate storage locations, allowing Polaris to write metadata to an attacker-chosen reachable storage location prematurely.

An authenticated user with low privileges (PR:L) who can modify table settings can exploit this if the catalog is configured with `polaris.config.allow.unstructured.table.location=true` and `allowedLocations` broad enough to encompass the target path. Polaris performs the metadata write to the unchecked location before later concrete-path validation, which may persist the path if accepted. Subsequent table-load and credential APIs can then issue temporary cloud-storage credentials for that location without revalidation, potentially exposing or enabling modification, corruption, or deletion of data and metadata in broader storage scopes, such as shared prefixes, other tables' areas, or even bucket roots depending on configuration and provider behavior. Even without credential vending, the initial unchecked write by Polaris constitutes the core defect, with reduced impact when `allow.unstructured.table.location=false` due to potential later rejection.

Advisories are available on the Apache mailing lists and oss-security, detailing the issue as discussed in CVE-2026-42812 with CVSS score 9.9 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) and associated CWEs-20 (Improper Input Validation), CWE-284 (Improper Access Control), CWE-732 (Incorrect Permission Assignment), and CWE-863 (Incorrect Authorization).

Details

CWE(s)

MITRE ATT&CK Enterprise TechniquesAI

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1485 Data Destruction Impact
Adversaries may destroy data and files on specific systems or in large numbers on a network to interrupt availability to systems, services, and network resources.
T1530 Data from Cloud Storage Collection
Adversaries may access data from cloud storage.
T1552 Unsecured Credentials Credential Access
Adversaries may search compromised systems to find and obtain insecurely stored credentials.
T1565 Data Manipulation Impact
Adversaries may insert, delete, or manipulate data in order to influence external outcomes or hide activity, thus threatening the integrity of the data.
Why these techniques?

Vuln in Polaris catalog allows low-priv authenticated user to bypass storage location validation on metadata writes and credential vending, directly enabling cloud data access (T1530), stored data manipulation (T1565), data destruction (T1485), and improper issuance of cloud credentials (T1552). Exploitation occurs via the exposed catalog service (T1190) resulting in effective privilege escalation (T1068) to broader storage scopes.

Confidence: MEDIUM · MITRE ATT&CK Enterprise v18.1

References