Skip to main content

OpenPanel EUVDEUVD-2026-63902

| CVE-2026-77769 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-08-21 disclosure@vulncheck.com GHSA-mrm7-hxjw-vff5
7.1
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as member of any organization
  2. Delivery
    Obtain or enumerate foreign organization's dashboardId
  3. Exploit
    Call report.list tRPC endpoint with own projectId and foreign dashboardId
  4. Execution
    Middleware validates projectId membership and passes
  5. Persist
    getReportsByDashboardId queries by dashboardId alone
  6. Impact
    Receive all cross-organization dashboard reports

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires an authenticated session with membership in at least one project within the target OpenPanel instance - the enforceAccess middleware must be satisfied, meaning anonymous access is not sufficient. The attacker must additionally know or enumerate a valid dashboardId belonging to a different organization on the same instance; if dashboardIds are random UUIDs this requires a secondary information disclosure or insider knowledge, while sequential numeric IDs would be trivially guessable. Exploitation is limited to multi-tenant OpenPanel deployments where multiple organizations coexist on a single instance - single-tenant deployments are not meaningfully exposed. No administrative privileges, special feature flags, or non-default configuration are required beyond basic authenticated membership.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N, score 7.1) accurately characterizes the risk profile: network-accessible, low complexity, requiring only a standard authenticated session, with high confidentiality impact and no integrity or availability consequences. No EPSS score was provided in the available intelligence, and the vulnerability is not listed in the CISA KEV catalog. No public proof-of-concept exploit has been identified. The practical risk is highest for multi-tenant OpenPanel deployments where multiple organizations share a single instance; single-tenant deployments face no meaningful cross-organization exposure. The prerequisite of knowing a foreign dashboardId is the primary limiting factor - if dashboardIds are non-guessable UUIDs, exploitation requires prior reconnaissance or a secondary information leak. The fix commit was targeted and the correct pattern already existed in the codebase, suggesting the vulnerability was a localized oversight with a well-understood remediation path.

Exploit ScenarioDerived

An attacker with a legitimate account in Organization A enumerates or obtains a dashboardId belonging to Organization B - through a shared public link, sequential ID guessing if IDs are numeric, or a prior information leak. The attacker calls the report.list tRPC endpoint, supplying their own valid projectId from Organization A to satisfy the middleware check and the foreign dashboardId from Organization B, and receives the full set of analytics reports from Organization B's dashboard with no error or audit trail distinguishing this call from a legitimate one. No public exploit code has been identified, but the attack requires only standard HTTP tooling and a valid session token.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – Aug 21, 2026

Cross-organization report data exposure in OpenPanel allows any authenticated user to read all analytics reports belonging to another organization's dashboard by supplying a mismatched projectId and dashboardId pair to the report.list tRPC procedure. The enforceAccess middleware validated only project membership, not dashboard ownership, while the underlying getReportsByDashboardId query applied no project-scoping filter - enabling a classic IDOR across tenant boundaries. No public exploit has been identified and no CISA KEV listing exists, but the attack requires only a valid session and knowledge of a foreign dashboardId, making it low-friction in multi-tenant deployments.

RemediationAI

The upstream fix is available in commit 0a51b6805eed0b3da8376175acd5fa3d26819cb6 on the Openpanel-dev/openpanel repository (https://github.com/Openpanel-dev/openpanel/commit/0a51b6805eed0b3da8376175acd5fa3d26819cb6), which adds a getDashboardById(dashboardId, projectId) ownership check in the report.list procedure before returning any data, throwing a TRPCNotFoundError if the dashboard does not belong to the supplied project. The same commit also fixes analogous gaps in the share and notification routers. Operators should update to a release incorporating this commit; the GitHub security advisory at https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-3q95-vc6f-vc9v should be consulted for a confirmed patched release tag, as a specific release version number is not independently confirmed from available data. If immediate patching is not feasible, restricting the OpenPanel instance to a single organization (eliminating multi-tenancy) removes the cross-organization exposure vector entirely, though this may not be operationally viable. No other compensating controls are available that would address the root cause without code changes.

Affected VersionsENISA

openpanel 0 <0a51b6805eed0b3da8376175acd5fa3d26819cb6

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

OpenPanel is an open-source product analytics platform whose API layer is built on tRPC. The vulnerable procedure, report.list in packages/trpc/src/routers/report.ts, accepted two caller-controlled parameters: projectId (routed through enforceAccess middleware to confirm organizational membership) and dashboardId (passed directly to getReportsByDashboardId in packages/db/src/services/reports.service.ts). The database query function selected reports filtered solely by dashboardId with no join or filter on projectId, meaning the authorization boundary enforced by the middleware was entirely bypassed at the data layer. CWE-639 (Authorization Bypass Through User-Controlled Key) is the precise root cause class: a trusted resource identifier (dashboardId) is accepted from an untrusted caller and used as the sole access control key without verifying ownership. A correctly scoped alternative, listReportsCore, already existed in the same service file and resolved the dashboard through getDashboardById(dashboardId, projectId) before returning reports, confirming this was a developer oversight rather than a missing capability.

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

Vendor (vulncheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Requires authenticated session (PR:L), network-accessible with no complexity (AV:N/AC:L), read-only data exposure with no scope change or integrity/availability impact (S:U/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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 21, 2026 - 12:01 EUVD
CVE Published
Aug 21, 2026 - 11:17 cve.org
HIGH 7.1

DescriptionCVE.org

The report.list procedure in packages/trpc/src/routers/report.ts accepted a projectId and a dashboardId and returned getReportsByDashboardId(dashboardId). The enforceAccess middleware in packages/trpc/src/trpc.ts verified membership for the supplied projectId, but nothing verified that the supplied dashboardId belonged to that project, and getReportsByDashboardId in packages/db/src/services/reports.service.ts selects reports by dashboardId alone with no project scoping. An authenticated user could therefore pair a projectId from their own organization, which satisfies the middleware, with a dashboardId belonging to another organization and receive every report in that dashboard. A correctly scoped helper, listReportsCore, already existed in the same service file and resolves the dashboard through getDashboardById(dashboardId, projectId) before returning reports, but the router did not use it.

Executive ViewAI

Why It Matters

OpenPanel contains a cross-organization data exposure vulnerability (CVE-2026-77769) allowing any authenticated user to access analytics reports and dashboards belonging to other organizations through insecure direct object reference. In multi-tenant deployments, this creates a confidentiality breach where customer data could be accessed by competitors or unauthorized users holding valid platform credentials, exposing sensitive business analytics and reporting information across organizational boundaries.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict OpenPanel access to essential personnel only with mandatory authentication via a trusted identity provider; (2) Implement automated alerting on report.list tRPC calls that include mismatched projectId and dashboardId values to catch exploitation attempts; (3) Enforce network segmentation using firewall or VPN restrictions on OpenPanel access; (4) Conduct forensic review of application audit logs spanning the last 90 days to identify any confirmed unauthorized cross-organization report access; (5) If vendor source code access is available, implement custom middleware validation in the enforceAccess function to verify dashboard ownership before returning results to the calling user.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
open-source analytics platform, niche deployment footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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