Skip to main content

Apache Pinot EUVDEUVD-2026-114272

| CVE-2026-73322 MEDIUM
Incorrect Authorization (CWE-863)
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with access to one table
  2. Delivery
    Craft single-stage query using lookup()
  3. Exploit
    Reference restricted dimension table via string literal
  4. Execution
    Supply primary key values for target rows
  5. Impact
    Read unauthorized dimension columns and rows

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that broker access control is enabled on the Apache Pinot cluster (without it, no authorization check exists to bypass), that the attacker is an authenticated user already authorized for at least one table, and that queries run through the single-stage query engine using the lookup() transform function whose dimension table is specified as a string-literal argument. The multi-stage query engine is explicitly not affected, which limits exposure. Impact is limited to reading dimension-table columns and rows (including defeating per-principal row-level security on that dimension table); it does not grant write access or affect non-dimension tables. Affected versions are Apache Pinot 0.7.0 through 1.5.1.

Impact

No CVSS, EPSS, KEV, or SSVC data is provided; the only priority signal is the vendor 'moderate' rating and a vuln.today decision label of 'awaiting_data', so quantitative exploitation-probability signals are entirely absent and cannot be compared. The vulnerability is an authorization bypass rather than memory corruption: the Apache advisory states that when broker access control is enabled, the single-stage query engine authorizes only the table in the FROM clause, while the lookup() transform names its dimension table via a string-literal argument that escapes the authorization check. The description explicitly describes the attacker as an authenticated user already authorized for at least one table, so this is a privilege/authorization-scope escalation (read access to dimension tables the user should not see, including bypass of per-principal row-level security), not remote-unauthenticated compromise. Real-world risk is moderate and conditional: it only matters in clusters that have broker access control enabled and that use dimension tables with lookup(), and impact is confined to confidentiality of dimension-table data. There is no public exploit identified at time of analysis and no evidence of active exploitation, so this should be treated as a patch-in-normal-cycle authorization fix rather than an emergency, with priority raised for multi-tenant Pinot deployments relying on broker access control for table isolation.

Exploit ScenarioDerived

In a multi-tenant Apache Pinot cluster with broker access control enabled, an authenticated analyst who is authorized for only one table issues a single-stage query using the lookup() transform function and supplies the name of a restricted dimension table as its string-literal argument. Because that table is never checked by the authorizer, the analyst reads columns from it and retrieves arbitrary rows by supplying primary key values directly, bypassing per-principal row-level security filters. No public exploit code is identified at time of analysis; the trigger is the documented lookup() argument behavior.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Apache Pinot 0.7.0 through 1.5.1 authorize only the table named in a query's FROM clause in the single-stage query engine, so an authenticated user who is authorized for at least one table can supply a different dimension table as the string-literal argument of the lookup() transform and read its columns - and, by passing primary key values directly, arbitrary rows of it - even where per-principal row-level security filters are configured on that table. The behavior only matters when broker access control is enabled, since without it there is no authorization check to escape, and the multi-stage query engine is explicitly not affected, which limits exposure to read-only dimension-table data rather than write access or non-dimension tables. The vendor rates the issue moderate; no CISA KEV entry, EPSS score, SSVC decision or public exploit code appears in the supplied data, and no public exploit was identified at time of analysis.

RemediationAI

The vendor's guidance is to upgrade: move off the affected '0.7.0 before 1.6.0' range, which makes Apache Pinot 1.6.0 the first release outside the vulnerable window, but note that the advisory text itself carries an unfilled [FIXED_VERSION] placeholder, so confirm the exact target release on https://pinot.apache.org before scheduling the upgrade. No workaround is documented in the available sources, and the precondition for exploitation is that broker access control is enabled, so disabling it would remove every authorization check rather than mitigate this one and is not an acceptable compensating control. Until the upgrade is applied, treat the cluster as permitting any authenticated user with a grant on one table to read any dimension table reachable via lookup(), including rows protected by per-principal row-level security filters; restrict query-engine exposure and review which principals hold even minimal table grants, since that is the only prerequisite the assessment identifies.

Affected VersionsENISA

Apache Pinot 0.7.0 <1.6.0

Affected Packages

euvd apache_pinot fix: 1.6.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Apache Pinot is an open-source distributed OLAP datastore, originally built at LinkedIn, that serves high-concurrency, low-latency analytical queries over columnar segments. It exposes two execution paths: a multi-stage query engine and a single-stage engine that runs the query largely on the broker. The lookup() transform function enriches query results with columns from a dimension table, and it names that dimension table through a string-literal argument instead of the FROM clause. The broker's authorization layer was written to check the table referenced in FROM only, so the lookup() dimension table was never passed through the same access-control decision. The root cause is therefore an incorrect authorization / missing authorization-check class of flaw (CWE-863 family) rather than a memory-safety or injection bug: an authenticated principal holding a grant on at least one table can reach the lookup() dimension table unnamed in FROM, including retrieving rows by primary key and bypassing per-principal row-level security filters attached to that dimension table. Per the assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N (6.5, Medium), the attack is network-reachable and requires a low-privileged authenticated account, with high confidentiality impact and no integrity or availability impact. No CPE strings were supplied; the affected product is Apache Pinot itself in the 0.7.0 through 1.5.1 range, and the multi-stage query engine is out of scope for this bug.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

vuln.today AI 6.5 MEDIUM

Authenticated user with access to one table (PR:L) sends a network query with no special timing (AV:N/AC:L/UI:N); impact is unauthorized reads only, so C:H, I:N, A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Estimated by vuln.today — no official severity rating has been published for this CVE yet.

Lifecycle Timeline

1
Patch available
Oct 30, 2026 - 20:03 EUVD

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
popular open-source OLAP database, common in analytics stacks but not ubiquitous
Data Quality
1 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy