Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain read-level project membership
-
DeliveryCall notification.rules tRPC query
-
ExploitReceive integration objects spread raw without redaction
-
ExecutionHarvest plaintext Slack tokens and webhook auth headers
-
ImpactReplay live credentials against external systems
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery 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 account holding read-level (bare project-membership) access to a target project - the lowest project role, which cannot create or edit integrations. The project must have at least one notification rule with an attached integration (Slack, incoming webhook, or custom webhook) configured by a write/admin user; no non-default setting beyond having integrations wired to notification rules is needed. Exploitation is a single tRPC call to notification.rules with the projectId the member can already see, no user interaction. Limiting factors: the attacker must already be invited into the project (PR:L), and there must be integration secrets configured on notification rules for anything to leak; a project with no integrations attached to rules exposes nothing. |
| Impact | Signals point to a genuine but access-gated priority. The vendor CVSS 4.0 vector (8.4) is AV:N/AC:L/AT:N/PR:L/UI:N with VC:H and SC:H, meaning network-reachable, low-complexity, no user interaction, but requiring authenticated privileges (PR:L) - specifically read-level project membership, not an anonymous internet attacker. EPSS is low (0.30%, 23rd percentile) and the vulnerability is NOT in CISA KEV, so there is no confirmed active exploitation and no evidence of widespread opportunistic scanning. A public PoC reference exists (benign step-by-step walkthrough in the GHSA advisory); it is not verified as working weaponized exploit code. These signals are consistent rather than conflicting: a trivially-triggered flaw (any read member can call one tRPC query and receive plaintext credentials) that nonetheless depends on the attacker already holding a valid low-trust account in a multi-member project. The real-world severity driver is the SC:H subsequent-system impact - the leaked Slack bot tokens, webhook URLs, and authorization headers are live credentials usable directly against the organization's external systems. Per the vuln.today decision label this_week and the confirmed privilege-boundary crossing, this warrants prompt patching, especially in shared/multi-tenant OpenPanel deployments where low-trust analysts are routinely invited; it is not an emergency internet-wide unauthenticated issue. |
| Exploit ScenarioDerived | A low-trust analyst invited with only read-level access to view a project's dashboards calls the notification.rules tRPC query, which eager-loads integration rows and returns them raw without calling redactIntegration. The response contains the admin-configured Slack bot token, incoming webhook URLs, and webhook authorization headers in plaintext, which the attacker then replays against the organization's external Slack and webhook endpoints. A benign proof-of-concept walkthrough is published in the GHSA advisory, but no verified working exploit code is confirmed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Read-level project members in OpenPanel before 3.0.0 can retrieve plaintext integration secrets - Slack bot tokens, incoming-webhook URLs and webhook authorization headers - through the notification.rules tRPC query, which eager-loads integration rows and spreads them into the response without applying the redactIntegration step that integration.get and integration.list enforce. The flaw is access-gated: the attacker needs an existing authenticated account with bare project membership (the lowest role, which cannot create or edit integrations) on a project where a write/admin user has attached at least one integration to a notification rule, and a single query call with no user interaction then exposes those credentials for use against external systems. EPSS is 0.30% (23rd percentile) with no CISA KEV listing, and the vendor advisory contains a benign manual proof-of-concept walkthrough; it is a public PoC reference that is not verified as working exploit code.
RemediationAI
Upgrade OpenPanel to 3.0.0 or later; the vendor confirms a patch is available and the advisory (https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-wfrw-rm3f-52x8) attaches the fix reference commit 071c736c4539c005ac32647f2cfc6dec89cfb596, although the diff exposed in the supplied data covers chart filter-value query changes rather than the redaction path, so the exact code change is not independently confirmable from that diff. Where upgrading immediately is not possible, the advisory's own prescribed mitigations are to apply redactIntegration to every integration object returned by notification.rules and to the row returned by integration.delete, to declare the Slack access_token, incoming_webhook.url and webhook headers with encrypted: true so plaintext is not stored at rest, and to gate integration reads at the same privilege level as integration writes - each of these is a source-level change in a self-hosted deployment, so the trade-off is maintaining a local fork until 3.0.0 is adopted. Operationally, because these are live credentials to external systems, treat any Slack bot tokens, webhook URLs and authorization headers previously configured on notification rules as exposed and reissue them, accepting that affected integrations must be reconfigured and will fail until updated; restricting project membership to people who genuinely need dashboard access reduces but does not remove exposure, since the leak is available precisely to the lowest read role, and projects with no integrations attached to notification rules disclose nothing.
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
OpenPanel is an open-source web/product analytics platform whose API is exposed through tRPC routers. Its authorization layer, enforceAccess in packages/trpc/src/trpc.ts, derives the required privilege level from the procedure input, so a top-level projectId maps a call to bare 'read' project membership; integration creation and updates instead flow through upsertIntegration plus assertIntegrationAccess at write/admin level. Secrets live in packages/integrations/src/registry.ts, where the Slack access_token, incoming_webhook.url and webhook headers are declared as secret fields without encrypted: true, meaning they are stored in plaintext and protected only by a redact-on-read invariant implemented in redactConfigSecrets/redactIntegration. notification.rules in packages/trpc/src/routers/notification.ts violates that invariant: it runs a findMany on notificationRule with include: { integrations: true } and returns rule.integrations raw, while integration.get and integration.list both call redactIntegration first. The root cause class is CWE-200 (exposure of sensitive information to an unauthorized actor), with the advisory also tagging CWE-522 (insufficiently protected credentials) for the plaintext-at-rest storage; the practical effect is a privilege-boundary crossing in which read-level members obtain credentials they are not permitted to set. A secondary, lower-severity path noted by the reporter is integration.delete, which also returns an unredacted row but is write/admin gated. The advisory notes this is distinct from GHSA-f9rx-pxgw-c6rg (missing write-gate on report/dashboard mutations) and covers a previously unpublished credential leak.
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:H/VI:L/VA:N/SC:H/SI:L/SA:N
Any read-level project member can trivially query the endpoint (PR:L, AC:L, no UI); direct impact is disclosure of live external credentials, so C:H with scope change (S:C), no integrity/availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OpenPanel before 3.0.0 contains an information disclosure vulnerability that allows read-level project members to obtain plaintext integration secrets because the notification.rules query skips redactIntegration. Attackers can call the notification.rules tRPC query to retrieve Slack bot tokens, webhook URLs, and authorization headers for use against external systems.
Executive ViewAI
OpenPanel versions before 3.0.0 expose integration secrets (Slack bot tokens, webhook URLs, and authorization headers) to any authenticated read-level project member through a notification rule query. This flaw enables unauthorized access to external communication channels, risking data leakage, reputational damage, and potential lateral movement into connected systems. Leadership should prioritize remediation because low-privileged users-including contractors or interns-could exfiltrate sensitive credentials, undermining trust in the platform's access controls.
Apply vendor patch.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Cross-tenant SQL injection in OpenPanel's analytics filter builder allows authenticated attackers with project-scoped re
EUVD-2026-110526
GHSA-wqh4-2xq9-jpwc
NVD
CVE.org
EPSS
Exploit-DB