Skip to main content

Dromara Skyeye EUVDEUVD-2026-101237

| CVE-2026-110609 HIGH
SQL Injection (CWE-89)
2026-10-14 VulnCheck GHSA-wg4g-q6wc-f4xf
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege user
  2. Delivery
    Craft malicious keyword parameter
  3. Exploit
    Submit to queryWarehousingDetails/queryOutgoingDetails
  4. Execution
    Inject SQL via raw ${} substitution
  5. Impact
    Exfiltrate cross-tenant 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

Exploitation requires a valid authenticated account with at least low privileges (CVSS PR:L) and network access to the Skyeye application's ERP statistics functionality. The specific attack surface is the 'keyword' request parameter processed by the queryWarehousingDetails or queryOutgoingDetails endpoints, which flows into the queryErpOrderItem MyBatis statement using unsafe raw ${} string substitution instead of parameterized #{} binding. No user interaction is needed and no special non-default configuration is called out in the description - the ERP module simply needs to be deployed and reachable. The principal limiting factor is the authentication requirement; the principal aggravating factor is that cross-tenant data is exposed, so a single low-privilege tenant account can reach other tenants' data.

Impact

This is a genuine but moderate-priority issue rather than an exaggerated high-CVSS finding. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H) is internally consistent with the description: a network-reachable SQL injection reachable by any authenticated low-privileged user, with high confidentiality impact (data extraction, including cross-tenant data) and no integrity or availability impact. The PR:L requirement is the primary risk limiter - an attacker must already hold valid low-privilege credentials, so this is not an unauthenticated pre-auth RCE-class flaw. No EPSS score, CISA KEV listing, or SSVC decision data was provided in the input, so exploitation probability and automatability cannot be quantified here. No public exploit identified at time of analysis, though a detailed technical write-up (hackmd) and a VulnCheck advisory with exact vulnerable source locations exist, which materially lowers the bar for an attacker to reproduce the injection. Net: real and worth patching, especially for multi-tenant deployments where cross-tenant data leakage is possible, but the mandatory authentication and the niche deployment footprint keep broad, automated mass-exploitation unlikely.

Exploit ScenarioDerived

An attacker with any valid low-privilege Skyeye account sends a crafted 'keyword' value to the queryWarehousingDetails or queryOutgoingDetails endpoint, where the input is concatenated into the queryErpOrderItem MyBatis statement via raw ${} substitution. Using boolean, UNION, error, or time-based techniques, they exfiltrate arbitrary database contents - including records belonging to other tenants. No public exploit is identified, but a public technical write-up and a VulnCheck advisory pinpoint the exact vulnerable mapper and controller lines.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Authenticated SQL injection in Dromara Skyeye (all builds through commit 65d3ddcede70) lets any low-privileged user read arbitrary data from the backend database, including records belonging to other tenants, by sending crafted 'keyword' values to the queryWarehousingDetails and queryOutgoingDetails ERP statistics endpoints. The flaw is reachable over the network with only a valid low-privilege account (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N; vendor score 7.1 under CVSS 4.0), needs no user interaction, and impacts confidentiality only - there is no evidence of data modification or code execution. No public exploit code has been identified at time of analysis and the CVE is not listed in CISA KEV; a detailed public technical writeup exists, and the issue is a genuine but moderate-priority finding whose main limiting factor is the authentication requirement.

RemediationAI

No vendor-released patch is identified at time of analysis, so remediation must start with a source-level fix: replace the raw ${keyword} substitution in the queryErpOrderItem statement of skyeye-erp/erp-pro/src/main/resources/mapper/erp/StatisticsMapper.xml (lines 29-31) with parameterized #{} binding, or, where dynamic SQL ordering or LIKE patterns genuinely require concatenation, wrap the input in a MyBatis <bind> expression that applies strict allowlisting/escaping (for example CONCAT('%', #{keyword}, '%') for LIKE semantics) and rebuild/redeploy; the same audit should be applied to every other mapper reaching the StatisticsController.java (lines 33-45) handlers. Until that fix is deployed, compensating controls are limited and come with trade-offs: restrict network access to the ERP statistics endpoints (queryWarehousingDetails, queryOutgoingDetails) via reverse-proxy or firewall rules to trusted internal networks, accepting loss of external usability; enforce strict least-privilege on the database account used by Skyeye so it cannot read tables outside the ERP schema, which reduces but does not eliminate cross-tenant leakage since the application query itself spans tenants; and deploy WAF rules that block SQL metacharacters (UNION, comment sequences, boolean/time-based payload patterns) in the keyword parameter, understanding that WAFs are bypassable and generate false positives on legitimate searches. Because the flaw leaks other tenants' data to any low-privilege account, operators should also assume historical exposure, rotate database credentials, and review database and application logs for anomalous keyword values or long-running queries; track the project repository at https://github.com/dromara/skyeye for an official fix and consult the VulnCheck advisory at https://www.vulncheck.com/advisories/dromara-skyeye-through-commit-65d3ddcede70-sql-injection-via-keyword-parameter for updates.

Affected VersionsENISA

skyeye 0 ≤65d3ddcede701d33ea5416e47c9b656e47d56401

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

Skyeye is an open-source Spring Boot/Java ERP platform maintained by Dromara, and its ERP module (skyeye-erp/erp-pro) uses MyBatis mappers for persistence. The vulnerable statement, queryErpOrderItem, is defined in StatisticsMapper.xml (lines 29-31) and builds the 'keyword' filter with raw MyBatis ${} string substitution instead of the parameterized #{} placeholder, so attacker-supplied text is concatenated directly into the SQL statement rather than bound as a value. StatisticsController.java (lines 33-45) exposes that keyword parameter through the queryWarehousingDetails and queryOutgoingDetails endpoints, meaning any caller who can reach the statistics functionality can influence the query text. This is the classic CWE-89 improper neutralization of special elements used in an SQL command, and because the injected text lands inside a WHERE-style predicate it supports boolean-based, UNION-based, error-based and time-based extraction techniques. The CPE cpe:2.3:a:dromara:skyeye:*:*:*:*:*:*:*:* with a wildcard version confirms the vendor treats all versions at or before the cited commit as affected rather than a single tagged release; the failure to parameterize, rather than a flaw in MyBatis itself, is the root cause, and multi-tenant data isolation is defeated because the query runs with the application's own database permissions regardless of which tenant initiated the request.

Know when Skyeye 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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable injection needs a valid low-privilege account (PR:L) and no user interaction; impact is data extraction only, so C:H with I:N and A:N.

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

DescriptionCVE.org

Dromara Skyeye through commit 65d3ddcede70 contains an sql injection vulnerability that allows authenticated low-privileged users to inject SQL via the keyword parameter in the queryErpOrderItem MyBatis statement using raw ${} substitution. Attackers can send crafted keyword values to the queryWarehousingDetails or queryOutgoingDetails endpoints to extract database data, including other tenants' data, using boolean, UNION, error or time-based techniques.

Executive ViewAI

Why It Matters

Dromara Skyeye, used for ERP warehousing and outgoing-statistics reporting, can expose tenant and operational data to any valid low-privilege account through a security flaw in all builds through commit 65d3ddcede70. No public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis, but the confidentiality impact across tenants makes this a high-priority access-control and data-protection risk. Affected stakeholders include ERP operations, shared-services teams, and tenant-facing business units that rely on Skyeye reporting.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict access to Dromara Skyeye and the queryWarehousingDetails/queryOutgoingDetails endpoints; enforce least privilege for low-privilege accounts; deploy WAF or API gateway rules to block SQL injection in the keyword parameter; monitor database queries for cross-tenant data access; and isolate Skyeye from sensitive or multi-tenant data stores where feasible.

Threat Intelligence Overview

EPSS Score
0.5%
Top 61% exploitable
Prevalence
Low
Open-source Dromara Skyeye ERP; niche, limited enterprise deployment footprint
Data Quality
6 sources
Confidence: High

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 No
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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