Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to TDuck platform
-
DeliverySend paginated list request with crafted orders[0].column
-
ExploitInject SQL into ORDER BY via concatOrderBy
-
ExecutionInfer database contents blind/boolean
-
ImpactExfiltrate sensitive 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 session (PR:L) on the TDuck tduck-platform (≤5.3) and access to a paginated listing endpoint that flows into MyBatis-Plus pagination sorting (e.g., user/form-template/theme queries). The attacker must supply the orders[0].column sort parameter, which is concatenated into the ORDER BY clause by PaginationInnerInterceptor.concatOrderBy without allowlisting - this identifier position cannot be parameterized by JDBC, which is why the fix adds SqlInjectionUtils.check and an alphanumeric/underscore/dot regex allowlist. Limiting factors: valid credentials are required (not remote-unauthenticated), and impact is primarily inferential data disclosure typical of order-by injection rather than arbitrary data modification. |
| Impact | The vendor/VulDB CVSS 4.0 base score is 5.3 (medium) with vector AV:N/AC:L/AT:N/PR:L/UI:N and uniformly Low impacts (VC:L/VI:L/VA:L), and E:P confirms proof-of-concept maturity. This is an authenticated (PR:L) SQL injection in the MyBatis-Plus pagination order-by handling (PaginationInnerInterceptor.concatOrderBy) reached via the attacker-controlled orders[0].column parameter - a column-identifier injection, which MyBatis/JDBC cannot bind as a parameter, so it is a genuine injection class. However, order-by column injection is materially narrower than classic value-based injection: it typically enables boolean/blind and error/time-based inference (confidentiality-leaning) rather than full data modification or dumping, which is consistent with the Low integrity/availability ratings. No EPSS score was provided and the CVE is NOT in CISA KEV, so there is no evidence of active or widespread exploitation despite the public PoC. The description's 'exploit is publicly available and might be used' aligns with E:P but does not equal active exploitation - treat as PoC-available, not weaponized in the wild. Net priority: moderate-and-conditional. It requires an authenticated account (PR:L) on a niche open-source form/survey platform, which sharply limits real-world blast radius; patch promptly if TDuck is internet-exposed with low-trust user accounts, otherwise routine remediation is adequate. |
| Exploit ScenarioDerived | An authenticated low-privilege user of a TDuck form platform submits a paginated list request (e.g., user/template/theme listing) and manipulates the orders[0].column sort parameter, injecting SQL into the ORDER BY clause that MyBatis-Plus cannot parameterize. Because a public exploit exists, the attacker uses boolean/error/time-based inference to extract data from the backing database. Exploitation is remote over HTTP but gated on holding a valid account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
SQL injection in TDuckCloud tduck-platform through version 5.3 lets an authenticated user inject arbitrary SQL through the orders[0].column sort parameter of paginated listing endpoints, which MyBatis-Plus concatenates directly into the ORDER BY clause. Successful exploitation primarily enables inferential (blind) reading of database contents, consistent with the assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N profile and the vendor's CVSS 4.0 score of 5.3 with PR:L and uniformly Low impacts. Proof-of-concept exploitation is publicly available (E:P, matching VulDB's 'exploit publicly available' note), but there is no CISA KEV entry, so confirmed active exploitation in the wild has not been established; no EPSS score was supplied for this record.
RemediationAI
Apply the upstream fix in commit ea7f0fae7cb0fd998a3284c11addce689350cd69 (https://github.com/TDuckCloud/tduck-survey-form/commit/ea7f0fae7cb0fd998a3284c11addce689350cd69), which introduces SqlInjectionUtils.check plus an alphanumeric/underscore/dot allowlist in QueryWrapperUtils.handleSortColumn and replaces raw Page parameters with PageRequest.toMybatisPage() in the affected controllers; note that upstream fix code is confirmed but a separately tagged patched release version is not independently confirmed, so verify the fix is present in whatever build you deploy rather than assuming a version number. Until the patch is deployed, treat the sort parameter on paginated endpoints as untrusted: restrict the FormTemplateController, FormThemeController, SyncDataController, and UserManageController listing routes to fully trusted authenticated accounts (this limits exposure to the required PR:L attacker but does not eliminate it, since any valid low-privilege session can exploit it), and front the application with a WAF or reverse-proxy rule that rejects orders[0].column values containing quotes, parentheses, comment markers, whitespace, or SQL keywords - accepting the trade-off that legitimate combination sorts may be blocked. Additional hardening: run the database account used by tduck-platform with least privilege and no DDL/file-read grants so blind order-by injection cannot be escalated into data modification or file access, and monitor database logs for anomalous ORDER BY expressions. Vendor and CVE references: https://vuldb.com/vuln/408522 and https://vuldb.com/cve/CVE-2026-95829.
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
The flaw is a CWE-89 SQL injection rooted in MyBatis-Plus pagination handling. The vulnerable code path is PaginationInnerInterceptor.concatOrderBy, reached through configuration in tduck-api/src/main/java/com/tduck/cloud/api/config/MybatisPlusConfig.java, where a user-controlled sort column name is appended to the ORDER BY clause. Because an ORDER BY identifier is a SQL structural element rather than a bindable value, JDBC prepared-statement parameterization cannot neutralize it, which is precisely why the upstream fix (commit ea7f0fae7cb0fd998a3284c11addce689350cd69) adds an explicit allowlist: QueryWrapperUtils.handleSortColumn now calls MyBatis-Plus SqlInjectionUtils.check along with an ORDER_BY_PATTERN regex restricting column names to alphanumeric characters, underscores, and dots (plus a separate DATE_TIME_PATTERN for date-range values). The same commit also replaces raw com.baomidou.mybatisplus.extension.plugins.pagination.Page parameters with a constrained PageRequest.toMybatisPage() wrapper across FormTemplateController, FormThemeController, SyncDataController, and UserManageController, closing the untrusted sort-parameter surface. The CPE cpe:2.3:a:tduckcloud:tduck-platform:*:*:*:*:*:*:*:* does not resolve to a bounded version range, so the practical affected scope must be read as all releases at or below 5.3 of the Java/Spring Boot tduck-survey-form application.
Know when Java 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:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Remote HTTP with a required low-privilege account (PR:L); order-by column injection yields blind/inferential read (C:L), with no realistic write or availability impact, so I:N/A:N.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was identified in TDuckCloud tduck-platform up to 5.3. This vulnerability affects the function PaginationInnerInterceptor.concatOrderBy of the file tduck-api/src/main/java/com/tduck/cloud/api/config/MybatisPlusConfig.java of the component Pagination Inner Interceptor. The manipulation of the argument orders[0].column leads to sql injection. The attack can be initiated remotely. The exploit is publicly available and might be used. The identifier of the patch is ea7f0fae7cb0fd998a3284c11addce689350cd69. It is suggested to install a patch to address this issue.
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.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-84986
GHSA-rj23-5g4f-59vx
NVD
CVE.org
EPSS
VulDB
Exploit-DB