Skip to main content

OpenPanel EUVDEUVD-2026-96362

| CVE-2026-108579 LOW
Improper Neutralization of Formula Elements in a CSV File (CWE-1236)
2026-10-10 disclosure@vulncheck.com GHSA-qhg3-x2wc-w8x2
2.3
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Send crafted profile ID to /track
  2. Exploit
    Payload matches target cohort
  3. Execution
    Operator exports cohort to CSV
  4. Impact
    Spreadsheet executes formula and exfiltrates adjacent cells

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V1 - Encoding and Sanitization CSV injection prevention
Exploitation Conditions

Exploitation requires an attacker to POST tracking events to the /track endpoint (reachable without authentication, PR:N) using a profile ID containing a spreadsheet formula such as =HYPERLINK(...) that is crafted to match an existing cohort's membership criteria (the AT:P attack requirement). Realized impact further depends on a privileged OpenPanel operator subsequently exporting that cohort's members to CSV and opening the file in a spreadsheet application that evaluates formulas and permits the resulting external data fetch / hyperlink action (the UI:P passive interaction). These prerequisites - a matching cohort, an operator-initiated export, and a victim opening the file in a formula-executing client - are the primary factors limiting real-world exploitation despite the unauthenticated network entry point.

Impact

All signals point to a LOW real-world priority. The input CVSS 4.0 base score is 2.3 (Low), and the vector itself explains why: although AV:N and PR:N indicate a network-reachable, unauthenticated injection point (the /track endpoint), two strong limiters are present - AT:P (the crafted profile ID must match an existing cohort) and UI:P (a victim operator must passively export the cohort to CSV and open it in a spreadsheet). Impact is bounded to VC:L/VI:L with VA:N and no scope change (SC:N/SI:N/SA:N), consistent with CWE-1236 formula injection that leaks only adjacent cell data. No EPSS score was provided, so exploitation probability cannot be quantified from the input. This is NOT in CISA KEV and no public exploit code was identified, so this is 'no public exploit identified at time of analysis' - although two technical write-ups (VulnCheck advisory and a hackmd analysis) exist, raising awareness without providing weaponized tooling. No SSVC decision data was supplied. Bottom line: this is a genuinely low-severity, operator-and-victim-dependent issue rather than a high-CVSS/low-real-risk mismatch - the low score is well justified by the multi-step, interaction-gated attack path.

Exploit ScenarioDerived

An unauthenticated attacker sends tracking events to OpenPanel's /track endpoint using a profile ID crafted as a spreadsheet formula (e.g. =HYPERLINK(...)) designed to match a defined cohort. Later, when an OpenPanel operator exports that cohort's members to CSV and opens the file in a spreadsheet application, the embedded formula executes and exfiltrates adjacent cell data to an attacker-controlled destination. No public exploit code was identified, though technical write-ups describe the flaw in detail.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 10, 2026

CSV formula injection in OpenPanel through 2.3.0 lets unauthenticated remote attackers inject spreadsheet formulas into cohort-member exports by submitting tracking events to the /track endpoint with crafted profile IDs (for example =HYPERLINK(...)) that satisfy an existing cohort's membership criteria. The payload only materializes if an OpenPanel operator later exports that cohort to CSV and opens the file in a spreadsheet client that evaluates formulas and permits the resulting external fetch, so realized impact is limited to low-severity adjacent-cell data disclosure (assessed CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N). No public exploit code was identified at time of analysis and CVE-2026-108579 is not in CISA KEV; all signals point to a low real-world priority.

RemediationAI

No vendor-released patch was identified at time of analysis, so remediation is mitigation-first. The most direct server-side fix is to neutralize formula-triggering prefixes when generating cohort CSVs in apps/start/src/utils/csv-download.ts - prefix any exported value beginning with =, +, -, @, tab or CR with a single quote or a leading apostrophe; the trade-off is that exported identifiers will carry an extra character and may need stripping on re-import. As an input-side control, validate or reject profile IDs submitted to the /track endpoint that begin with formula characters, accepting that this may reject some legitimate identifier formats. Operationally, treat OpenPanel cohort exports as untrusted: open them in a text editor or import them with spreadsheet formula evaluation disabled, or apply Excel's 'Protected View'/Data-Connection blocking and LibreOffice's formula-recalculation-off settings, since those controls sacrifice the convenience of live formulas. Restrict access to the export functionality to trusted operators to reduce the chance of a formula-bearing file being opened, and monitor for deployments newer than 2.3.0 from https://github.com/Openpanel-dev/openpanel that address CSV escaping. Consult https://www.vulncheck.com/advisories/openpanel-through-2.3.0-csv-formula-injection-via-cohort-member-export and https://hackmd.io/@haind/openpanel-cohort-csv-formula-injection for reproduction details and any updated guidance.

Affected VersionsENISA

openpanel 0 ≤2.3.0

Affected Packages

euvd openpanel no fix

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 root cause is CWE-1236 (Improper Neutralization of Formula Elements in a CSV File), the classic spreadsheet/CSV injection class in which user-controlled text is serialized verbatim into a CSV export without escaping characters that spreadsheet applications interpret as formula starters (=, +, -, @, tab, CR). OpenPanel is a web analytics platform; its unauthenticated /track endpoint ingests tracking events that include a profile ID, and those identifiers are later used as cohort membership criteria. The vulnerable export logic lives in apps/start/src/utils/csv-download.ts (referenced at commit 7c4d22ae4b6b20fb08eb5c94a0cd3cfebb3d32ca), where profile IDs are written into cohort CSV files without neutralizing formula prefixes. Because the formula string is stored as data and only becomes active when a human opens the exported CSV in a formula-evaluating client (Microsoft Excel, LibreOffice Calc), the vulnerability is a stored/passive-interaction issue rather than direct server-side code execution despite the 'Code Injection' tag. No CPE identifiers were supplied; the affected component is the cohort member export path of OpenPanel 2.3.0 and earlier.

Know when the next one hits your stack

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

Unauthenticated network injection (AV:N/PR:N) but AC:H reflects the required cohort match and UI:R the operator export/open step; impact limited to low confidentiality and integrity of exported data.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

OpenPanel through 2.3.0 contains a CSV formula injection vulnerability that allows unauthenticated attackers to embed spreadsheet formulas by supplying crafted profile IDs to the /track endpoint. Attackers can send tracking events with profile IDs like =HYPERLINK(...) matching a cohort, so exported cohort CSVs execute formulas that exfiltrate adjacent cell data.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche self-hosted open-source web analytics platform, limited enterprise 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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
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.

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