Cyber Posture

CVE-2026-42812

CriticalUpdated

Published: 04 May 2026

Published
04 May 2026
Modified
12 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.0012 30.3th percentile
Risk Priority 20 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2026-42812 is a critical-severity Improper Input Validation (CWE-20) vulnerability in Apache Polaris. Its CVSS base score is 9.9 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 30.3th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and AC-3 (Access Enforcement).

Threat & Defense at a Glance

What attackers do: exploitation maps to Exploitation for Privilege Escalation (T1068) and 5 other techniques. What defenders deploy: see the NIST 800-53 controls recommended below.
Threat & Defense Details

Mitigating Controls (NIST 800-53 r5)AI

prevent

Directly requires validation of inputs like write.metadata.path to ensure storage locations are authorized and properly formatted before metadata writes.

prevent

Restricts and authorizes personnel and processes for configuration changes such as ALTER TABLE settings modifications that alter storage paths.

prevent

Enforces approved access authorizations for system resources like storage locations, mitigating unauthorized metadata writes by Polaris.

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

NVD 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.

Deeper analysisAI

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)

Affected Products

apache
polaris
≤ 1.4.1

CVEs Like This One

CVE-2026-42811Same product: Apache Polaris
CVE-2026-42810Same product: Apache Polaris
CVE-2026-42809Same product: Apache Polaris
CVE-2026-23902Same vendor: Apache
CVE-2026-41044Same vendor: Apache
CVE-2025-48913Same vendor: Apache
CVE-2026-32228Same vendor: Apache
CVE-2026-24734Same vendor: Apache
CVE-2025-50151Same vendor: Apache
CVE-2026-22444Same vendor: Apache

References