Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as non-admin org member
-
DeliveryCall onboarding.project tRPC mutation with own organizationId
-
ExploitBypass missing admin-only authorization gate
-
ExecutionReceive minted write-type credential plaintext secret
-
ImpactInject fake events, poison metrics and consume usage budget
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
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 | Requires an authenticated, non-admin member (any role, including read-only) of the target OpenPanel organization and a valid organizationId the caller already belongs to; no admin role, no user interaction, and no non-default configuration are needed, because the onboarding.project mutation is only gated by generic membership (enforceAccess/member.findFirst) and never calls requireOrganizationAdmin in versions before 3.0.0 (2.3.0 confirmed vulnerable). The mutation is unlimited and unthrottled, so credentials can be minted repeatedly. Limiting factors that bound realistic risk: the attacker must already possess a provisioned member session in the org (no path from an unauthenticated outsider); foreign organizations are unreachable because the membership middleware rejects non-member organizationId values; and the minted write-type credential cannot read existing data (export/import endpoints reject ClientType.write) nor manage resources (manage surface is root-only), so impact is confined to event injection, metrics poisoning, and budget consumption. |
| Impact | This is a medium-severity, authenticated privilege-ladder bypass (CWE-269) whose real-world risk is moderate-to-low rather than urgent. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L) and the 5.3 base score agree: network-reachable and low-complexity, but it requires an existing authenticated organization member (PR:L), has no confidentiality impact, and only Low integrity/availability impact bounded to a single organization. EPSS is low (0.24%, 15th percentile) and the vulnerability is NOT in CISA KEV, indicating no evidence of active exploitation. A proof-of-concept is published in the vendor GHSA advisory, so exploitation is trivial for anyone who already holds a non-admin member session - but that membership prerequisite makes this primarily an insider or post-compromise escalation, not a mass-exploitable remote flaw. The vuln.today decision label 'this_month' aligns with these signals: patch on a normal cycle rather than emergency. One conflict must be flagged: the CVE title and EUVD list the fix as 3.0.0 and the input says a vendor patch is available (commit 35c2a138), yet the GHSA source-evidence block states 'fixed in: not yet patched' and marks 2.3.0 vulnerable - verify the actual fixed release with the vendor before relying on a version number. |
| Exploit ScenarioDerived | A disgruntled, low-privilege, or compromised non-admin member of an OpenPanel organization repeatedly POSTs to the onboarding.project tRPC endpoint with their ordinary session cookie, each call minting a new project and a write-type ingestion credential whose plaintext secret is returned in the response - despite the admin-only policy that governs the sibling project.create and client.create procedures. Using those secrets, the attacker injects fabricated analytics events to poison revenue/conversion/attribution dashboards, trigger event-driven automations, and exhaust the organization's usage budget. A browser-console fetch and an equivalent curl PoC are published in the vendor's GHSA advisory; exploitation is network-reachable but requires an authenticated member session and low attack complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Missing authorization in OpenPanel's onboarding.project tRPC mutation lets any authenticated organization member - including a read-only one - create unlimited projects and mint plaintext write-type ingestion credentials inside that organization, bypassing the admin-only policy that the sibling procedures project.create and client.create enforce. All releases before 3.0.0 are affected (2.3.0 confirmed vulnerable), and the minted write-type secret cannot read existing data or manage resources, so impact is bounded to injecting fake analytics events, poisoning business metrics and consuming the organization's usage budget. EPSS is low (0.24%, 15th percentile), there is no CISA KEV entry, and the upstream GHSA advisory publishes a working PoC request (a single tRPC call over the dashboard httpLink with a non-admin member session cookie).
RemediationAI
Upgrade to OpenPanel 3.0.0 or later, which is the fixed version per the advisory and EUVD range (0 <3.0.0); the upstream fix is commit 35c2a138fb9f8dde67dadfd426892f3762b25b78, which replaces the membership-only getOrganizationAccess check in onboarding.rpc.ts with requireOrganizationAdmin({ message: 'Only organization admins can create projects' }) and adds a regression test asserting FORBIDDEN for an org:member caller. Because the GHSA package metadata still listed the issue as 'not yet patched' at publication, self-hosted operators running a build between 2.3.0 and 3.0.0 should confirm the commit (or the requireOrganizationAdmin call in the onboarding project mutation) is present rather than relying on a version string alone, or cherry-pick the commit if they cannot move to 3.0.0. Until patched, administrators should audit member roles and revoke any unexplained projects or ingestion clients via client.remove, which is already admin-gated, and monitor logs for repeated POSTs to /trpc/onboarding.project from non-admin sessions - noting that these are detective controls only and, because the minted secret is write-only and cannot read or manage data, rotation is needed only for credentials whose creation cannot be explained. Two design-level alternatives the maintainers may prefer over the gate are restricting onboarding.project to users with no existing memberships (true first-login onboarding) or no longer returning a minted secret and routing users through the admin-gated client.create flow; both remove the inconsistency but change the onboarding UX for legitimate new members.
Affected VersionsENISA
Affected Packages
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
The flaw is a CWE-269 improper privilege management / privilege-ladder bypass in OpenPanel's tRPC layer. The documented permission model in packages/trpc/src/access.ts deliberately reserves credential minting for the organization-admin tier, and an August 2026 hardening commit (5faad322) enforced that on project.create (project.ts:151-165) and client.create (client.ts:61-68, which calls requireOrganizationAdmin), plus client.remove for revocation. The onboarding router predates that campaign: its project mutation (onboarding.ts:93-138) is a plain protectedProcedure that performs the same compound operation - db.project.create followed by db.client.create with type 'write' and a freshly generated secret - and returns the plaintext secret to the caller, and the requireOrganizationAdmin helper that exists in the same package is never invoked there. The only applicable control is the generic enforceAccess middleware, which for a top-level organizationId merely confirms membership through a member.findFirst lookup (trpc.ts:113-122; access.service.ts:82-97), so a member of any role passes. Requests use the dashboard's own format: a single tRPC call over httpLink with a superjson envelope and session cookie, and the mutation is repeatable without any rate limit or quota, each invocation minting another project and another write credential. Impact is genuinely bounded: export and import endpoints reject ClientType.write (apps/api/src/utils/auth.ts:240-242, 275-277), the manage surface is root-only (auth.ts:310-314), and the membership middleware rejects foreign organizationId values, so confidentiality is unaffected and only low integrity/availability impact from metrics poisoning and budget consumption applies.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable low-complexity call needing an existing member session (PR:L); impact stays within the org (S:U) with no data read (C:N) and only metrics-poisoning/quota impact (I:L/A:L).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OpenPanel before 3.0.0 contains a missing authorization vulnerability in the onboarding.project tRPC mutation that allows non-admin organization members to create projects and mint write-type ingestion credentials, bypassing the admin-only policy. Attackers can repeatedly call the endpoint with a member session to obtain plaintext secrets, inject fake analytics events, poison business metrics, and consume the organization's usage budget.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Code execution in OpenPanel's js-runtime component lets an authenticated user who holds project write access escape the
An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated h
An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated m
Cross Site Request Forgery vulnerability in Open Panel OpenAdmin v.0.3.4 allows a remote attacker to escalate privileges
Server-side request forgery in OpenPanel before 2.3.0 lets unauthenticated remote attackers coerce the panel server into
Unauthenticated ClickHouse SQL injection in OpenPanel before 3.0.0 lets remote attackers read other tenants' analytics d
Sandbox escape in OpenPanel's JavaScript webhook-template runtime (packages/js-runtime) allows an authenticated project
Authenticated remote code execution in OpenPanel before 2.3.0 allows any project member with read access to escape the m
Unauthenticated information disclosure in OpenPanel (openpanel-dev/openpanel) exposes argon2id password hashes and full
Unauthenticated SSRF in OpenPanel before 2.3.0 exposes two utility endpoints - /misc/favicon and /misc/og - that blindly
Cross-tenant data exposure in OpenPanel before 3.0.0 lets any authenticated user read other projects' profiles, events a
Read-level project members in OpenPanel before 3.0.0 can retrieve plaintext integration secrets - Slack bot tokens, inco
EUVD-2026-110514
GHSA-7qfj-9p8q-5fq8
NVD
CVE.org
EPSS
Exploit-DB