Skip to main content

OpenPanel EUVDEUVD-2026-110519

| CVE-2026-116811 HIGH
Code Injection (CWE-94)
2026-10-26 VulnCheck GHSA-r85r-mvjp-f5x7
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain project write access
  2. Delivery
    Submit JavaScript webhook template aliasing Function constructor
  3. Exploit
    Bypass AST allowlist validator (read not call)
  4. Execution
    Attach notification rule and send matching event
  5. Persist
    Worker compiles and runs template
  6. Impact
    Execute arbitrary code with worker credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must be an authenticated OpenPanel project member with write or admin access level (WRITE_LEVELS) on at least one project - this is not remote-unauthenticated. The deployment must expose the webhook integration feature used with mode:'javascript' and a javascriptTemplate, which is present in every build since commit 286f8e16 (2026-01-23); no other non-default configuration is needed. Execution is triggered by attaching a notification rule to the integration and then having one matching event ingested through the public /track endpoint, at which point the worker evaluates and runs the template. The key limiting factor is the write-access precondition (PR:L), which confines realistic risk to insider threats and multi-tenant installs that grant project write access to non-fully-trusted users; the escape itself requires no user interaction and no special timing.

Impact

This is best characterized as an authenticated privilege-to-RCE escalation rather than a drive-by remote flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, score 8.7) confirms network reach, low complexity, no user interaction and no attack requirements, but PR:L means the attacker must already be an authenticated project member with write (or admin) access - so this is an insider or multi-tenant threat, not an anonymous internet attack. The payoff is high: full code execution in the worker process that holds the database, ClickHouse, Redis and third-party integration credentials (hence VC/VI/VA:H). Signals are only mildly conflicting: a complete, reproduced proof-of-concept is published in the vendor's GHSA advisory (demonstrated RCE with verbatim output), yet EPSS is low at 0.49% (42nd percentile) and the CVE is NOT in CISA KEV, indicating no evidence of widespread active exploitation - consistent with a niche, self-hosted product and a precondition of write access. The vuln.today decision label is 'this_week', which should drive the urgency: this is a genuine priority for any operator who grants project write access to semi-trusted users or runs OpenPanel multi-tenant, but materially lower risk for a single-tenant deployment where every project member is already fully trusted. The low EPSS despite a working PoC reflects limited deployment footprint plus the authentication precondition, not a weak vulnerability.

Exploit ScenarioDerived

A user holding write access to a single OpenPanel project configures a webhook integration in JavaScript mode and submits a transform template that reads payload.constructor.constructor into a local variable to recover the real Function constructor, then calls it to run arbitrary code; a full working proof-of-concept is published in the vendor's GHSA advisory with reproduced command output. The template passes the AST allowlist validator at save time, and when any matching tracked event is ingested the worker compiles and runs it, executing attacker code with the worker's privileges and access to its stored credentials. Attack complexity is low and no user interaction is required, but the attacker must already be an authenticated project member.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Sandbox escape in OpenPanel's JavaScript webhook-template runtime (packages/js-runtime) allows an authenticated project member holding write or admin access on at least one project to execute arbitrary commands inside the worker process, which holds the database, ClickHouse, Redis and third-party integration credentials. The AST allowlist in validate() only inspects member-expression call targets and assignment left-hand sides, so a template can copy payload.constructor.constructor into a local and invoke it as a plain identifier, and execute() then compiled that template with new Function() in the worker itself. Every build since the JavaScript template feature landed in commit 286f8e16 (2026-01-23) through 61a92453 (2026-09-18) is affected; the trigger requires the attacker to attach a notification rule to the malicious webhook integration and have one matching event ingested via the public /track endpoint, with no user interaction and no special timing. No CISA KEV entry exists and EPSS is modest (0.49%, 42nd percentile), consistent with a flaw gated behind project write access rather than a drive-by remote attack; the vendor advisory nonetheless publishes a working proof-of-concept harness that demonstrates validator bypass and host command execution.

RemediationAI

Vendor-released patch: upgrade to OpenPanel 3.0.0 or later, which replaces new Function() with node:vm runInNewContext, crosses payload and result as JSON, disables string and wasm code generation, and enforces a 250 ms timeout and 1 MB output cap; the upstream fix commit is 42fc8623b5c5c30f0b89686451c0c5ab13046b81 and the advisory is https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-mc99-9jf5-22cq. Because exploitation is gated on project write access, the most effective pre-patch compensating control is to restrict project membership with write or admin level (WRITE_LEVELS) to fully trusted users, since the escape needs only that role and one ingested event - the trade-off is reduced self-service for analytics configuration. Independently, disable or refuse webhook integrations configured with mode 'javascript' (the javascriptTemplate field is the only path into the vulnerable compiler; plain URL/header webhook delivery does not reach it), which costs teams the template-transform feature. Audit existing webhook integrations for javascriptTemplate values that alias constructor, __proto__ or prototype reads into locals followed by identifier-style calls, noting that save-time validation in packages/integrations/src/registry.ts accepts these payloads and therefore provides no signal. Beware that once a template has run, the worker's database, ClickHouse, Redis and third-party credentials should be treated as potentially exposed, so rotate them after an upgrade on any instance where untrusted users could write integrations.

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 lets project members attach a JavaScript transform to a webhook integration (mode: 'javascript' plus javascriptTemplate). The template is screened by an AST allowlist implemented in packages/js-runtime/src/validate.ts and then compiled with new Function() in packages/js-runtime/src/execute.ts inside apps/worker, the notification-delivery process that holds database, ClickHouse, Redis and integration credentials. The root cause is CWE-94 code injection enabled by shape-based rather than value-based validation (the advisory also classifies it under CWE-693): the call-target guard (validate.ts:276-331) only fires when the callee is a MemberExpression or OptionalMemberExpression, and only the final property is checked against ALLOWED_INSTANCE_METHODS, while the assignment/update guard (validate.ts:356-366) rejects __proto__, constructor and prototype only on left-hand-side targets. A pure read such as const F = payload.constructor.constructor; is neither a member call nor an assignment, so no rule matches, and the subsequent F('...')() is an Identifier callee the walker never inspects. Reading .constructor off a plain object yields Object and off Object yields Function, giving the real Function constructor evaluated in global scope. The advisory's harness confirms six accepted escape variants (aliased read, sequence-expression callee, aliased read off an allowed instance method, off an allowed global, via destructuring, and off an array literal), and the fix commit 42fc8623 replaces new Function() with node:vm runInNewContext, crossing the payload and result as JSON, disabling contextCodeGeneration for strings and wasm, and imposing a 250 ms execution timeout and a 1 MB output cap. The advisory explicitly notes this VM context is not itself the security boundary - the validator remains it - but a validator miss now lands in an empty realm instead of the worker process.

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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Authenticated project member with write access gives PR:L; network-reachable save/trigger path and reliable aliasing give AV:N/AC:L/UI:N; code execution in the worker yields C/I/A:H with no scope change.

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

DescriptionCVE.org

OpenPanel before 3.0.0 contains a sandbox escape vulnerability in the js-runtime validator that allows a project member to bypass the AST allowlist by aliasing the Function constructor. Attackers with write access can read payload.constructor.constructor into a local and call it to run arbitrary code in the worker process.

Executive ViewAI

Why It Matters

CVE-2026-116811 enables authenticated project members with write or admin access to escape the sandbox in OpenPanel's JavaScript webhook-template runtime, executing arbitrary commands that expose database, ClickHouse, Redis, and third-party integration credentials. This affects any organization running OpenPanel builds from January 23, 2026 through September 18, 2026, requiring immediate patching to prevent credential compromise and potential lateral movement.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
open-source self-hosted web 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.5%
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

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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-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

CVE-2026-88890 HIGH
8.4 Sep 10

Cross-tenant SQL injection in OpenPanel's analytics filter builder allows authenticated attackers with project-scoped re

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