Description
Openpanel before 2.3.0 contains an insecure direct object reference vulnerability in the report.getLayouts and report.resetLayout tRPC procedures that fail to bind dashboardId to the authorized projectId. Authenticated attackers can supply an arbitrary victim dashboardId with their own projectId to read report layouts and configurations or delete dashboard grid arrangements across tenants.
Published: 2026-09-04
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Cross‑Tenant Data Access
Action: Apply Patch
AI Analysis

Impact

Openpanel versions before 2.3.0 contain an insecure direct object reference flaw in the report.getLayouts and report.resetLayout tRPC procedures. The procedures do not bind the dashboardId to the authenticated user’s projectId, allowing an attacker who is logged in to supply another project’s dashboardId. This enables read access to report layouts, configuration data, and delete operations for dashboard grid arrangements belonging to other tenants.

Affected Systems

All Openpanel installations from the initial release up to, but not including, version 2.3.0. The vulnerability is present in every deployment of Openpanel where the affected tRPC procedures are exposed to authenticated users.

Risk and Exploitability

The vulnerability has a CVSS score of 5.3, indicating a medium impact when combined with user authentication. EPSS data is not available and the issue is not listed in the CISA KEV catalog. Attackers must be authenticated and capable of calling the API endpoints; the exploit path is straightforward once credentials are obtained, so the overall risk depends largely on user privilege management.

Generated by OpenCVE AI on September 4, 2026 at 12:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Openpanel version 2.3.0 or later, which removes the vulnerable access control logic.
  • If an immediate upgrade is not possible, temporarily disable the report.getLayouts and report.resetLayout API endpoints for all tenants until a patch is applied.
  • Implement an additional server‑side check that confirms the dashboardId belongs to the authenticated user’s projectId before processing read or delete requests, ensuring cross‑tenant references are rejected.

Generated by OpenCVE AI on September 4, 2026 at 12:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 10 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 04 Sep 2026 11:45:00 +0000

Type Values Removed Values Added
Description Openpanel before 2.3.0 contains an insecure direct object reference vulnerability in the report.getLayouts and report.resetLayout tRPC procedures that fail to bind dashboardId to the authorized projectId. Authenticated attackers can supply an arbitrary victim dashboardId with their own projectId to read report layouts and configurations or delete dashboard grid arrangements across tenants.
Title Openpanel before 2.3.0 Cross-Tenant IDOR via report.getLayouts
First Time appeared Openpanel
Openpanel openpanel
Weaknesses CWE-639
CPEs cpe:2.3:a:openpanel:openpanel:*:*:*:*:*:*:*:*
Vendors & Products Openpanel
Openpanel openpanel
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N'}


Subscriptions

Openpanel Openpanel
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-10T15:09:06.946Z

Reserved: 2026-09-04T11:01:47.585Z

Link: CVE-2026-85615

cve-icon Vulnrichment

Updated: 2026-09-10T14:19:23.925Z

cve-icon NVD

Status : Deferred

Published: 2026-09-04T12:17:25.130

Modified: 2026-09-10T16:17:59.917

Link: CVE-2026-85615

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-07T08:15:14Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key