Skip to main content

OpenPanel EUVDEUVD-2026-75442

| CVE-2026-88892 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-10 VulnCheck GHSA-vmh2-9r6c-h7q4
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain org member credentials
  2. Delivery
    Submit import job with internal URL as fileUrl
  3. Exploit
    OpenPanel API calls plain fetch() on attacker URL
  4. Execution
    HTTP status and status text returned via import.get
  5. Persist
    Enumerate internal hosts, ports, and paths
  6. Impact
    Optionally ingest CSV-formatted internal responses as analytics events

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

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

Exploitation Conditions

Exploitation requires a valid authenticated organization member account in the target OpenPanel instance (PR:L per CVSS). Critically, the access-control bug means even the lowest-privilege 'member' role with no project_access rows is sufficient - the intended level check is bypassed because getProjectAccess returns boolean true rather than a level object. The importer feature must be accessible to the member (no additional configuration required beyond the default code path). The attacker's chosen internal target must be reachable from the network location of the OpenPanel API server process. For cloud metadata exfiltration, the API must run on an instance with an IMDS endpoint available (IMDSv1 is exploitable; IMDSv2 adds a token requirement that partially mitigates). No special platform, browser, or external tooling is required beyond a standard HTTP client or the OpenPanel UI.

Impact

The CVSS 4.0 score of 5.3 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N) accurately reflects the moderate but real impact: network-accessible, low-complexity, requiring only a valid organization member account. The access-control bypass is particularly significant - it removes the assumption that 'member' role is a meaningful barrier, meaning any successfully registered user becomes an exploitable attacker. The SSRF oracle capability (HTTP status and status text are persisted in Import.errorMessage and returned to the caller) enables port scanning and internal host enumeration without rate-limiting described in the advisory, which increases practical risk beyond a simple blind SSRF. Cloud-hosted deployments are at elevated risk due to cloud metadata endpoints (e.g., AWS IMDSv1 at 169.254.169.254) being accessible from the application host; even a mid-sized municipal IT team in mielec running OpenPanel in a cloud VPC should treat this as a meaningful lateral-movement stepping stone. No EPSS data is provided in the input; no KEV listing exists. The absence of a patch at publication time is the most operationally significant risk signal - defenders cannot simply update. EPSS and active exploitation status are unconfirmed from available data.

Exploit ScenarioDerived

An attacker registers or obtains credentials for any organization member account in a target OpenPanel instance. They submit an import job with fileUrl set to an internal target such as http://169.254.169.254/latest/meta-data/iam/security-credentials/ or http://10.0.0.1:8080/admin; the OpenPanel API server fetches the URL, and the HTTP status code and status text are stored and returned to the attacker via the import.get endpoint, enabling iterative port scanning and path enumeration of internal infrastructure. If any probed internal service returns a response that parses as Umami CSV, its content is silently ingested into the attacker's analytics views, potentially exfiltrating structured internal data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 10, 2026

Server-side request forgery in OpenPanel's data importer allows authenticated organization members to probe internal network hosts, services, and cloud metadata endpoints. The flaw exists because parseRemoteFile in packages/importer/src/providers/umami.ts calls plain fetch() on a caller-supplied config.fileUrl validated only by Zod's z.string().url() format check, entirely bypassing the project's own SSRF guard at apps/api/src/utils/safe-fetch.ts; the shared createFileImportConfig factory exposes the same unguarded field. An additional access-control bug means even a default 'member' with no project_access rows can exploit this path, because getProjectAccess returns boolean true instead of a level object, causing the intended access-level check to be skipped. No patched release was available at time of publication, and no public exploit has been identified at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis - monitor the GitHub advisory GHSA-cj2r-3x54-88h7 for a fix release. As a compensating control, deploy network-level egress filtering on the host running the OpenPanel API to block outbound requests to RFC 1918 addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local addresses (169.254.0.0/16), and loopback (127.0.0.0/8); this prevents the SSRF from reaching cloud metadata services and internal hosts but does not fix the root code path. If the importer feature is not operationally required, disable or remove access to the import endpoint at the API gateway or reverse proxy layer. For cloud deployments, enable IMDSv2 (token-required mode) on AWS EC2 instances to prevent credential extraction via the metadata endpoint even if SSRF is achieved. Restrict organization membership to trusted users until a patch is available, as the access-control bypass means any org member account is a viable attacker.

Affected VersionsENISA

openpanel 0 ≤worker

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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 analytics platform (cpe:2.3:a:openpanel-dev:openpanel:*:*:*:*:*:*:*:*). Its data importer feature supports ingesting remote files in Umami CSV format via a URL specified in the import configuration. The vulnerable code path in packages/importer/src/providers/umami.ts invokes the JavaScript runtime's native fetch() API rather than the project's safe-fetch.ts wrapper, which presumably maintains an allowlist or blocklist of private IP ranges and link-local addresses (e.g., RFC 1918, 169.254.0.0/16). Zod URL validation is a purely syntactic check - it confirms the string is a well-formed URL but permits destinations such as http://127.0.0.1:9911/ or http://169.254.169.254/latest/meta-data/. The root cause class is CWE-918 (Server-Side Request Forgery), compounded by a secondary access-control logic error: the getProjectAccess function returns a truthy boolean true for members with no project_access rows rather than a level object, bypassing the intended privilege gate and widening the attack surface to the lowest-privilege org role.

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

Network SSRF requiring authenticated org member (PR:L); scope change because internal systems beyond OpenPanel are probed; confidentiality-only impact limited to status/text oracle and possible CSV data leak.

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

DescriptionCVE.org

OpenPanel is an analytics platform. In all versions (no patched release available at time of publication), the data importer fetches a caller-supplied URL with plain fetch instead of the project's existing SSRF guard (apps/api/src/utils/safe-fetch.ts). In packages/importer/src/providers/umami.ts, parseRemoteFile calls fetch() on config.fileUrl, which is validated only by z.string().url(), so values such as http://127.0.0.1:9911/ or http://169.254.169.254/latest/meta-data/ are accepted; the shared createFileImportConfig factory gives the plausible provider the same field. An authenticated organization member - including a default 'member' with no project_access rows, for whom the intended access-level check is skipped because getProjectAccess returns boolean true rather than a level object - can therefore make the server connect to any address reachable from it. The resulting HTTP status and status text are persisted as Import.errorMessage and returned by import.get to the same user, providing a scanning oracle for internal hosts, ports and paths; if an internal response parses as Umami CSV, its rows are ingested as events and become readable in the attacker's analytics views.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche open-source analytics platform, limited enterprise adoption
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.3%
Patch available No
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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