Skip to main content

Yiuman Citrus CVE-2026-110614

| EUVDEUVD-2026-101242 HIGH
SQL Injection (CWE-89)
2026-10-14 VulnCheck GHSA-5pf4-h875-jgfj
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. Exploit
    Reach generic list route (BaseQueryController/Restful)
  3. Execution
    Inject SQL via sortBy into ORDER BY
  4. Impact
    Blind boolean/time-based extraction of database contents

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 low-privilege account (PR:L) on an application built with the Yiuman citrus framework that exposes at least one generic list route from a controller extending BaseQueryController or BaseQueryRestful. The exploitable input is the sortBy request parameter, which is concatenated unvalidated into the SQL ORDER BY clause. Limiting factors: exploitation is impossible without valid authentication and without a deployed generic query endpoint reachable by the attacker; impact is read-only data disclosure via blind inference (slower, order-dependent extraction), not direct record retrieval, modification, or service disruption.

Impact

This is a moderate-severity SQL injection (CWE-89) whose signals are internally consistent rather than conflicting. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H) scores 7.1 and correctly reflects a network-reachable, low-complexity flaw that nonetheless requires PR:L - i.e. an authenticated low-privilege user, not an anonymous attacker. Impact is confined to confidentiality (VC:H, VI:N/VA:N): the ORDER BY injection supports blind boolean-/time-based data extraction but not direct write or denial-of-service. No EPSS score, no CISA KEV listing, and no explicit POC=YES flag were supplied, so there is no evidence of active or at-scale exploitation; the VulnCheck advisory and the linked hackMD write-up describe the technique and vulnerable code (QueryHelper.java L123-129) but do not themselves confirm weaponized exploit code. Net: a genuine but not top-tier priority - the authentication requirement and confidentiality-only impact temper the network attack vector, and the affected product (Yiuman citrus) has a very small real-world footprint, which further lowers practical urgency. Prioritize patching where citrus is deployed and generic query controllers are exposed to semi-trusted users.

Exploit ScenarioDerived

An authenticated low-privilege user of an application built on the Yiuman citrus framework sends a request to any generic list endpoint backed by a controller extending BaseQueryController or BaseQueryRestful, placing attacker-controlled SQL in the sortBy parameter that is appended unvalidated to the ORDER BY clause. Because the output is order-dependent rather than directly reflected, the attacker uses boolean- or time-based blind techniques to extract database contents row by row. No public weaponized exploit is confirmed, though the referenced hackMD advisory documents the injection point and method in detail.

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 the Yiuman Citrus Java framework (versions through 0.15.0) allows any user with a valid low-privilege account to inject arbitrary SQL into the ORDER BY clause by tampering with the sortBy request parameter. The flaw lives in the citrus-support generic query helper and is reachable through any generic list route on controllers extending BaseQueryController or BaseQueryRestful, which means every application built on the framework that exposes such a route inherits the exposure. Impact is read-only database disclosure achieved through boolean- or time-based blind inference rather than direct record retrieval, and exploitation requires both valid credentials and a deployed, reachable generic query endpoint; no public exploit code was identified at time of analysis and the CVE is not in CISA KEV, so this should be treated as a moderate-severity, externally exploitable information-disclosure risk rather than an active campaign.

RemediationAI

No vendor-released patch identified at time of analysis; the advisory data lists version 0.15.0 as the last vulnerable release without naming a fixed version, so organizations should watch the upstream project at https://github.com/Yiuman/citrus and the VulnCheck advisory at https://www.vulncheck.com/advisories/yiuman-citrus-through-0.15.0-order-by-sql-injection-via-sortby-parameter for a corrected build, and upgrade citrus-support (and rebuild downstream applications) as soon as one is tagged. Because standard JDBC placeholders cannot bind ORDER BY identifiers, the realistic code-level fix is to stop concatenating sortBy and instead map the parameter through a strict allowlist of known entity property names, rejecting anything that does not match a fixed whitelist or a regex such as ^[A-Za-z0-9_]+$ and then resolving it to a trusted column via the ORM's criteria/metamodel API. As compensating controls until a patch is available: restrict access to generic list endpoints (BaseQueryController/BaseQueryRestful routes) to the smallest set of trusted roles, since the issue requires an authenticated low-privilege account, and disable or wrap those endpoints where they are not business-critical; run the application's datasource with least-privilege, read-only credentials on a schema that excludes sensitive tables, which limits the confidentiality impact but does not fix the injection; and deploy WAF or gateway rules that reject sortBy values containing SQL metacharacters, comments, or SLEEP/BENCHMARK/WAITFOR patterns, accepting that keyword filtering is bypassable and may cause false positives on legitimate multi-column sorts. Detection should focus on anomalous query latency and repeated identical list requests with varying sortBy parameters, which are the signature of time-based blind extraction in this injection path.

Affected VersionsENISA

citrus 0 ≤0.15.0

Affected Packages

euvd citrus 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 vulnerability is a classic CWE-89 SQL injection caused by unsafe string concatenation in citrus-support's generic query framework. Per the referenced source, QueryHelper.java (lines 123-129 in the 0.15.0 tag) builds the ORDER BY clause of generated SQL by concatenating the caller-supplied sortBy value without validation, allowlisting, or parameterization. Because ORDER BY column names and directions cannot be bound through standard JDBC PreparedStatement placeholders in the general case, this code path is a common weak spot in Java ORM/query-helper designs, and the framework's design amplifies the blast radius: any controller that extends BaseQueryController or BaseQueryRestful automatically exposes generic list routes that feed user input into this helper. The affected component is the Maven-style artifact path citrus-support under the upstream project com.github.yiuman/citrus, tracked by the CPE cpe:2.3:a:yiuman:citrus:*:*:*:*:*:*:*:* for all releases through 0.15.0. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) confirms the exploitation profile: network-reachable, low complexity, requiring a low-privilege authenticated session, with a confidentiality-only impact. The injected payload terminates or extends the ORDER BY clause, so boolean-based (differential result ordering) and time-based (SLEEP/benchmark-style delays) blind techniques are the practical extraction methods; error-based or UNION-based retrieval is constrained by the position of the injection point, making extraction slow and order-dependent but still capable of full database read-out within the same privileges as the application's datasource.

Know when Citrus 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, low-complexity injection requiring a low-privilege authenticated account (PR:L); blind data extraction yields C:H with no integrity or availability impact and unchanged scope.

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

Yiuman citrus through 0.15.0 contains an ORDER BY sql injection vulnerability in the citrus-support generic query framework that allows users to inject SQL via the sortBy request parameter. Attackers can reach any generic list route of controllers extending BaseQueryController or BaseQueryRestful to append unvalidated SQL to the ORDER BY clause and extract database contents using boolean- or time-based blind techniques.

Executive ViewAI

Why It Matters

The Yiuman Citrus Java framework (versions through 0.15.0) contains a SQL injection vulnerability that could allow low-privilege users to extract sensitive database information from applications built on the framework. This read-only disclosure risk affects any organization using the framework with exposed generic query endpoints, potentially leading to data breaches and regulatory compliance issues. Leadership should prioritize mitigation because the vulnerability requires only valid credentials and is externally exploitable.

Business Impact: Medium
Compensating Controls

Interim mitigations include restricting access to generic query endpoints, implementing input validation via whitelisting of sortBy column names, deploying WAF SQL injection rules, and monitoring database queries for anomalies. No vendor-released patch identified at time of analysis.

Threat Intelligence Overview

EPSS Score
0.5%
Top 61% exploitable
Prevalence
Rare
obscure single-maintainer open-source Java framework, minimal enterprise 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
Medium
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