Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate as dataset author
-
DeliveryCreate SQL dataset with malicious ${var} defaultValue
-
ExploitStore payload persists in dataset metadata
-
InstallVictim with read permission opens dataset
-
C2Unescaped defaultValue concatenated into query
-
ExecuteInjected SQL executes on backend DB
-
ImpactExfiltrate or modify database data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence 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 DataEase account with permission to create or edit SQL-type datasets, and the ability to set a SQL variable's defaultValue field (the exact attacker-controlled sink: ${var} entries processed by SqlparserUtils.handleVariableDefaultValue()). Triggering execution additionally requires a second condition - some user with dataset read permission must subsequently access the affected dataset, since it is stored/second-order rather than immediate. Limiting factors: exploitation is not possible for fully anonymous users (CVSS PR:L confirms authentication is required), it depends on the deployment granting dataset-authoring rights to the attacker, and it only affects DataEase instances running versions prior to 2.10.23. No non-default configuration is otherwise needed - SQL dataset variables are standard product functionality. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VC:H/VI:H/VA:L, no scope change) describes a network-reachable, low-complexity attack requiring only low privileges - an authenticated user able to author or edit SQL datasets - and no user interaction, yielding a High 8.7 score. The stored nature increases realistic impact: the payload fires when a second, potentially higher-value user with read permission opens the dataset, so it doubles as a persistence/pivot primitive rather than a one-shot injection. There is no CISA KEV listing and no EPSS score in the provided data, and no public exploit code was supplied, so this is not confirmed as actively exploited; the signal set points to a genuine but not yet weaponized High-priority issue rather than a low-real-risk high-CVSS artifact. The main limiting factor is the PR:L requirement - an anonymous internet attacker cannot trigger it without first obtaining an account with dataset-authoring rights, which lowers exposure for well-segmented deployments. EPSS and KEV data are absent from the input and should be checked before final prioritization. |
| Exploit ScenarioDerived | A low-privileged DataEase user who can author SQL datasets creates one containing a variable whose defaultValue embeds a malicious SQL fragment (e.g. a subquery or UNION). When a colleague or administrator with read permission later opens that dataset, the backend concatenates the unescaped defaultValue into the executed query, running the attacker's SQL against the database with the application's DB credentials. No public exploit code was identified, but the low attack complexity and public fix commit make crafting one straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 15, 2026
Stored SQL injection in DataEase (open source data visualization/BI tool) versions prior to 2.10.23 allows an authenticated user who can define SQL-type datasets to persist malicious SQL through variable defaultValue entries, which later execute against the backend database whenever any user with dataset read permission opens the dataset. The flaw (CWE-89) enables reading and modifying arbitrary database data, and CVSS 4.0 rates it 8.7 (High). No public exploit has been identified at time of analysis, but the upstream fix commit is public, so exploitation prerequisites are well documented.
RemediationAI
Vendor-released patch: upgrade to DataEase 2.10.23, which replaces raw defaultValue concatenation with prepared-parameter binding (fix commit 22930a493d900fe3d8084b3dd4c0125abdb2a847, release https://github.com/dataease/dataease/releases/tag/v2.10.23). Review the advisory at https://github.com/dataease/dataease/security/advisories/GHSA-pv23-p64m-4pxf for details. If immediate upgrade is not possible, reduce the population of accounts that can create or edit SQL-type datasets to a small set of trusted administrators (the exploit requires dataset-authoring privileges), and audit existing SQL datasets for suspicious ${var} default values before broad users open them - note this constrains legitimate self-service dataset creation. As a database-side compensating control, run DataEase's DB connection under a least-privilege account limited to the specific schemas it needs so that any injection cannot read or alter unrelated data; the trade-off is that overly tight grants may break legitimate cross-schema dataset queries. These are stopgaps only - upgrading to 2.10.23 is the reliable fix.
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
DataEase is a Java/Spring backend BI platform whose SQL-type datasets support parameterized variables written as ${var} placeholders. The vulnerable routine SqlparserUtils.handleVariableDefaultValue() (and the parallel DeSqlparserUtils path) resolved a variable's stored defaultValue by directly concatenating it into the generated query with a String.replace() call, performing no escaping and no parameterization. Because the defaultValue is attacker-controllable dataset metadata and flows straight into a raw SQL string, this is a textbook CWE-89 (SQL Injection) caused by string-building instead of prepared statements. The fix introduces buildPreparedSqlFragmentForDefaultValue(), which wraps the default value into a SqlVariableDetails value list and routes it through buildPreparedSqlFragment() (the existing prepared-parameter path), and adds isQuotedVariable() handling to strip surrounding quotes so the value binds as a real parameter rather than inline text. Affected CPE is cpe:2.3:a:dataease:dataease:*:*:*:*:*:*:*:*.
Know when Dataease 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:H/VA:L/SC:N/SI:N/SA:N
Network-reachable with low complexity but requires an authenticated dataset-authoring account (PR:L); injection allows reading and altering DB data (C:H/I:H) with limited availability impact (A:L), no scope change.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
DataEase is an open source data visualization and analysis tool. Prior to 2.10.23, DataEase SQL-type datasets store attacker-controlled SQL variable defaultValue entries such as ${var} and SqlparserUtils.handleVariableDefaultValue() inserts them with String.replace() without escaping or parameterization, causing stored SQL injection whenever a user with dataset read permission accesses the dataset. This issue is fixed in version 2.10.23.
Executive ViewAI
DataEase versions before 2.10.23 allow authenticated users to inject persistent SQL code through dataset configurations, exposing all dataset viewers to data theft and unauthorized modification. Organizations using this open-source BI platform face elevated data breach risk with no currently available vendor patch.
Restrict SQL-type dataset creation to trusted administrators; audit existing dataset definitions regularly; implement least-privilege database access controls; enable comprehensive database query logging and alerting for anomalous SQL patterns.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
DataEase is an open source business intelligence and data visualization tool. Prior to version 2.10.11, a threat actor m
Auth bypass in DataEase via CVE-2025-49001 patch evasion. PoC available.
Auth bypass in DataEase BI tool before 2.10.10.
A remote code execution vulnerability in DataEase (CVSS 9.8). Risk factors: public PoC available.
A remote code execution vulnerability in DataEase (CVSS 9.8). Risk factors: public PoC available.
A remote code execution vulnerability in DataEase (CVSS 9.8). Risk factors: public PoC available.
DataEase data visualization tool prior to 2.10.19 uses MD5-hashed passwords without salting, allowing attackers to crack
DataEase is an open source data visualization analysis tool. Rated critical severity (CVSS 9.8), this vulnerability is r
DataEase is an open source data visualization analysis tool. Rated critical severity (CVSS 9.8), this vulnerability is r
DataEase is an open source data visualization and analysis tool. Rated critical severity (CVSS 9.8), this vulnerability
Dataease is an open source data visualization and analysis tool. Rated critical severity (CVSS 9.8), this vulnerability
Dataease is an open source data visualization analysis tool. Rated critical severity (CVSS 9.8), this vulnerability is r
EUVD-2026-44782
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB