CVE-2026-88892 Details
Description
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.
A server-side request forgery (SSRF) vulnerability has been identified in OpenPanel, an analytics platform, in all versions prior to the advisory publication date. The issue arises in the data importer, which fetches a user-supplied URL using a plain fetch request, bypassing the application's existing SSRF protection. This vulnerability allows authenticated organization members, including those with default 'member' roles and no project access, to make the server connect to any reachable address. The imported URL is only validated for format, leaving room for exploitation by targeting internal services or cloud metadata endpoints. The vulnerability not only facilitates unauthorized network reconnaissance but also risks partial content disclosure by ingesting certain internal responses as events in the attacker's analytics views.
To address this vulnerability, route the importer through the existing SSRF guard, 'safeFetch', which properly validates and secures the fetch requests. Additionally, stop reflecting upstream error statuses that could be exploited as an oracle, and fix the access-level validation to ensure it accurately reflects a member's project access.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 10, 2026CISA-ADP
Assessed Sep 10, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-cj2r-3x54-88h7 | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-cj2r-3x54-88h7 | [email protected] | AdvisoryExploitRemedyVendor |
| https://www.vulncheck.com/advisories/openpanel-ssrf-via-unguarded-importer-file-url-fetch | [email protected] | Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-918 | Server-Side Request Forgery (SSRF) | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| OpenPanel | >= 0 |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 10, 2026 | CVE Modified | CISA-ADP |
| Sep 10, 2026 | New CVE Received | [email protected] |
Volerion