Skip to main content

OpenPanel EUVDEUVD-2026-110518

| CVE-2026-116810 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-26 VulnCheck GHSA-74w8-8m6p-549q
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Discover OpenPanel instance
  2. Exploit
    Guess slug-based project ID
  3. Execution
    POST unauthenticated reference.getChartReferences call
  4. Impact
    Dump cross-tenant annotation timeline

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

No special conditions - remote unauthenticated exploitation against default configurations of OpenPanel, requiring only network reachability to the tRPC endpoint. The only practical prerequisite is knowing or guessing a target's slug-based projectId, which is derived from the project name (id.service.ts) and is human-guessable for the first project of a given name. Limiting factors: impact is confined to read-only disclosure of annotation metadata (title, description, date) for projects whose IDs the attacker can guess or enumerate - no write access, no credential or full-dataset exposure - and instances patched to 3.0.0 enforce project-access or unlocked-public-share checks.

Impact

Signals point consistently to a genuine but low-to-moderate priority issue rather than an emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 6.9) describes trivially easy remote exploitation - no authentication, no user interaction, low attack complexity - which the source-code evidence fully corroborates: getChartReferences is a publicProcedure whose handler never reads ctx.session or calls a project-access/share gate. However, the impact metrics temper this sharply: VC:L with VI:N/VA:N/SC:N means confidentiality-only disclosure of a narrow data class (annotation titles, descriptions, and dates - release notes and deploy markers), not credentials, integrity, or availability. EPSS is low at 0.25% (16th percentile), it is NOT on CISA KEV, and the vuln.today decision label is 'this_month' (not act_now/emergency), all of which align with the limited-sensitivity confidentiality impact. The tension to flag explicitly: ease of exploitation is high (anonymous, slug-guessable project IDs per id.service.ts) while the value of the leaked data is low, so this is a real, easily-abused cross-tenant leak but one whose business impact depends entirely on how sensitive a given tenant's annotation text is. Exploitation status: a public PoC reference exists in the GHSA advisory; it is not verified as working exploit code, and there is no confirmed active exploitation.

Exploit ScenarioDerived

An unauthenticated attacker sends a single POST to /trpc/reference.getChartReferences with no session cookie and a guessed slug-based projectId (e.g. 'acme'), receiving a JSON array of that tenant's annotation {title, description, date} entries. Because project IDs are derived from slug(name) with a random suffix only on collision, the first project of a given name has a human-guessable ID, enabling cross-tenant enumeration. A public PoC reference exists in the advisory; it is not verified as working exploit code.

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 28, 2026

Unauthenticated cross-tenant disclosure in OpenPanel before 3.0.0 allows any remote attacker to read other tenants' project annotations - release notes, deploy markers and internal event notes - by calling the public reference.getChartReferences tRPC procedure with a guessed slug-based projectId. The handler never reads the session and performs no project-access or share-token check, so it returns title, description and date rows for any project whose ID the attacker can guess; impact is confidentiality-only (CVSS 6.9, assessed as CVSS:3.1 C:L with no integrity or availability effect). EPSS is 0.25% (16th percentile) and there is no CISA KEV listing, but the vendor advisory documents a public proof-of-concept request and the issue is fixed in 3.0.0.

RemediationAI

Vendor-released patch: upgrade OpenPanel to 3.0.0 or later, which enforces the in-handler authorization check on reference.getChartReferences (member must pass getProjectAccess, anonymous viewer must hold an unlocked public share) as shown in commit 7b88523798dcd2dcba53c39ca00f8a8c448377c3; operators on a rolling deploy who cannot move to the tagged release should cherry-pick that commit, since the vulnerable publicProcedure plus unguarded findMany is the whole defect. Advisory details are at https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-c98x-mph7-r6vp (with the companion GHSA-vrrm-p9p4-2gfg). If upgrading must be deferred, the interim mitigation is to deny POST requests to the /trpc/reference.getChartReferences route at the reverse proxy or WAF and to treat project annotations as potentially already disclosed; the trade-off is that legitimately shared dashboards lose their chart annotation overlays until the fix is applied, and blocking by route path is defeated if the deployment rewrites or batches tRPC calls. Because project IDs are slug-derived and largely guessable, rotating or randomizing project identifiers offers only partial protection and does not close the missing check. There is no KEV-listed active exploitation and EPSS is low (0.25%), so remediation can be scheduled in the normal monthly patch cycle per the this_month priority, but the unauthenticated nature of the read means exposure to the internet should be reviewed before then.

Affected VersionsENISA

openpanel 0 <3.0.0

Affected Packages

euvd openpanel fix: 3.0.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

OpenPanel exposes its API through tRPC, where procedure type is the authorization boundary: publicProcedure runs only the logger and session-scope middleware (populating req.session or an EMPTY_SESSION, never rejecting anonymous callers), while protectedProcedure additionally runs enforceAccess. In the affected code (packages/trpc/src/routers/reference.ts, getChartReferences around lines 101-122) the procedure was declared publicProcedure and its handler went straight to db.reference.findMany({ where: { projectId, date range } }) without consulting ctx.session.userId, getProjectAccess, or any share gate - the neighbouring getReferences (:11-35) is a protectedProcedure that calls getProjectAccess and throws 403, and create/update/delete all require project access, which confirms annotations are access-controlled data and the public read is the anomaly. Mapping to CWE-639 (authorization bypass through user-controlled key) and CWE-862 (missing authorization), the user-controlled key is the projectId, which is generated as slug(project name) in id.service.ts with a random suffix only on collision, so the first project named e.g. "acme" has the human-guessable id "acme". The procedure is intentionally public so that a share page can draw annotations over its charts, meaning the in-handler guard was the only barrier; the fix (commit 7b88523798dcd2dcba53c39ca00f8a8c448377c3) keeps the procedure public but branches on ctx.session.userId - calling auth.getProjectAccess for members and share.hasAnonymousShareAccessToProject(projectId, cookies) for anonymous viewers - and throws TRPCForbiddenError when neither check passes, with unit tests covering anonymous-without-share, anonymous-with-unlocked-share, member-without-access and member-with-access.

Know when Openpanel gets its next vulnerability

  • 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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Unauthenticated network request, low complexity, no privileges or interaction; discloses only limited annotation metadata so C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/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
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

OpenPanel before 3.0.0 contains a missing authorization vulnerability that allows unauthenticated attackers to read any project's annotations by calling the public reference.getChartReferences tRPC procedure. Attackers can send requests with guessable slug-based project IDs to dump cross-tenant annotation titles, descriptions, and dates such as release notes and deploy markers.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
self-hosted open-source product analytics tool, limited production 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 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.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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.

CVE-2026-93985 CRITICAL POC
9.4 Sep 19

Code execution in OpenPanel's js-runtime component lets an authenticated user who holds project write access escape the

CVE-2025-25871 HIGH POC
8.0 Mar 14

An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated h

CVE-2025-25872 MEDIUM POC
5.5 Mar 14

An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated m

CVE-2025-25873 MEDIUM POC
5.5 Mar 14

Cross Site Request Forgery vulnerability in Open Panel OpenAdmin v.0.3.4 allows a remote attacker to escalate privileges

CVE-2026-85614 CRITICAL
9.2 Sep 04

Server-side request forgery in OpenPanel before 2.3.0 lets unauthenticated remote attackers coerce the panel server into

CVE-2026-116818 HIGH
8.8 Oct 26

Unauthenticated ClickHouse SQL injection in OpenPanel before 3.0.0 lets remote attackers read other tenants' analytics d

CVE-2026-116811 HIGH
8.7 Oct 26

Sandbox escape in OpenPanel's JavaScript webhook-template runtime (packages/js-runtime) allows an authenticated project

CVE-2026-85610 HIGH
8.7 Sep 04

Authenticated remote code execution in OpenPanel before 2.3.0 allows any project member with read access to escape the m

CVE-2026-88893 HIGH
8.7 Sep 10

Unauthenticated information disclosure in OpenPanel (openpanel-dev/openpanel) exposes argon2id password hashes and full

CVE-2026-85612 HIGH
8.7 Sep 04

Unauthenticated SSRF in OpenPanel before 2.3.0 exposes two utility endpoints - /misc/favicon and /misc/og - that blindly

CVE-2026-116808 HIGH
8.6 Oct 26

Cross-tenant data exposure in OpenPanel before 3.0.0 lets any authenticated user read other projects' profiles, events a

CVE-2026-116819 HIGH
8.4 Oct 26

Read-level project members in OpenPanel before 3.0.0 can retrieve plaintext integration secrets - Slack bot tokens, inco

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