CVE-2026-42811 Overview
CVE-2026-42811 is a credential scoping vulnerability in Apache Polaris that allows attackers to obtain Google Cloud Storage (GCS) credentials with broader access than authorized. Polaris generates short-lived GCS credentials using a Credential Access Boundary (CAB) with Common Expression Language (CEL) conditions intended to limit access to a single table's storage path. The CEL expression incorporates table path data derived from namespace and table identifiers without proper escaping. A crafted identifier containing a single quote can break out of the quoted CEL string and collapse the path restriction, yielding credentials that operate bucket-wide within the configured bucket.
Critical Impact
Authenticated attackers can obtain delegated GCS credentials that bypass intended path restrictions, enabling unauthorized read, write, and delete operations across the entire configured bucket.
Affected Products
- Apache Polaris 1.4.0 (confirmed in private testing)
- Apache Polaris deployments using Google Cloud Storage as backing storage
- Apache Polaris instances issuing CAB-based downscoped GCS credentials
Discovery Timeline
- 2026-05-04 - CVE-2026-42811 published to NVD
- 2026-05-05 - Last updated in NVD database
Technical Details for CVE-2026-42811
Vulnerability Analysis
Apache Polaris constructs GCS downscoped credentials by building a Credential Access Boundary with a CEL condition that restricts access to a specific bucket and object prefix. The CEL string is assembled from the bucket name and the table path. The table path itself is derived from user-controllable namespace and table identifiers.
The identifiers are inserted into the CEL expression without escaping. A namespace or table name containing a single quote and URI-safe CEL fragments can terminate the intended quoted string and append additional CEL logic. The injected logic alters the boundary semantics so that the resulting credentials no longer enforce the per-table prefix restriction.
Testing against Polaris 1.4.0 on real Google Cloud Storage confirmed that crafted identifiers produced delegated credentials whose CEL path restriction had effectively collapsed. The credentials permitted listing, reading, creating, and deleting objects under unrelated prefixes within the same bucket, including prefixes that were not part of any registered table path. The flaw is tracked under [CWE-20] Improper Input Validation.
Root Cause
The root cause is unsanitized injection of namespace and table identifiers into a CEL expression used to define the GCS Credential Access Boundary. Polaris treats identifier strings as trusted text inside a quoted CEL literal rather than escaping single quotes and CEL metacharacters before interpolation.
Attack Vector
An attacker authenticated to Polaris with privileges to create or reference a namespace or table supplies a crafted identifier containing a single quote and additional CEL fragments. Polaris builds the CAB using the malicious identifier and returns delegated GCS credentials. The attacker then uses those credentials directly against GCS to access objects outside the intended table path, including unrelated tables and external prefixes within the configured bucket.
The vulnerability mechanism is described in the Apache Mailing List Thread and the OpenWall OSS Security Discussion. No public proof-of-concept code is available.
Detection Methods for CVE-2026-42811
Indicators of Compromise
- Namespace or table identifiers in Polaris catalog metadata containing single quotes, backslashes, or CEL operator fragments such as ||, &&, or startsWith.
- GCS audit log entries showing object access from a Polaris-issued service account targeting prefixes that do not correspond to the table referenced in the credential request.
- Cross-prefix storage.objects.list, storage.objects.get, or storage.objects.delete operations performed by short-lived credentials issued by Polaris.
Detection Strategies
- Audit Polaris namespace and table identifiers for non-standard characters, particularly single quotes and CEL syntax tokens, and quarantine entries that do not match a strict allowlist pattern.
- Correlate Polaris credential vending events with subsequent GCS data plane activity to identify access that diverges from the requested table path.
- Inspect issued Credential Access Boundary policies for malformed or unexpectedly broad resource.name.startsWith conditions before they are returned to clients.
Monitoring Recommendations
- Enable GCS Data Access audit logs for the configured Polaris bucket and forward them to a SIEM for prefix-level correlation against catalog metadata.
- Alert on any Polaris-issued downscoped credential whose effective scope after CAB evaluation covers more than one table prefix.
- Track creation and modification of namespaces and tables that include quote characters or non-printable bytes in their identifiers.
How to Mitigate CVE-2026-42811
Immediate Actions Required
- Restrict who can create namespaces and tables in Polaris to trusted principals until a fixed release is deployed.
- Rotate or revoke the long-lived GCS service account credentials backing Polaris credential vending and reissue them with tighter IAM scoping.
- Enforce a strict identifier allowlist at the Polaris API layer that rejects single quotes, backslashes, and other CEL-significant characters in namespace and table names.
- Review GCS audit logs for the configured bucket for evidence of cross-prefix access by Polaris-issued credentials.
Patch Information
No fixed Apache Polaris version is listed in the NVD entry at the time of publication. Monitor the Apache Mailing List Thread and the Apache Polaris project release notes for an official security release that escapes identifiers in CEL expressions or replaces string interpolation with parameterized boundary construction.
Workarounds
- Place each Polaris catalog in a dedicated GCS bucket so that boundary collapse is contained to a single catalog's data rather than a shared bucket.
- Configure the GCS service account used by Polaris with IAM permissions on only the specific prefixes required, reducing the maximum effective privilege of any vended credential.
- Add an upstream validation layer, such as an API gateway or reverse proxy, that rejects table and namespace creation requests containing quote characters or non-URI-safe bytes.
- Disable use of GCS storage in Polaris until a patched release is available if the catalog handles untrusted tenants.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


