pig-mesh pig CVE-2026-115997
LOWAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to pig4cloud app
-
DeliverySend paginated request with crafted ascs/descs param
-
ExploitInject SQL expression into ORDER BY
-
ExecutionBypass insufficient sort filter
-
ImpactBlind-extract database contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
|
| Exploitation Conditions | Exploitation requires an authenticated request (CVSS PR:L) to an endpoint that uses pig4cloud's SqlFilterArgumentResolver pagination binding, with attacker-controlled ascs or descs sort parameters whose values reach OrderItem.getColumn and flow into an ORDER BY clause. The trigger is an unvalidated sort-column string: pre-patch code relied on com.baomidou.mybatisplus SqlInjectionUtils.check, which the patch's test cases show failed to block expressions such as case/when, hex(), arithmetic (user_id+1), comment sequences (user_id/**/), and backtick-quoted identifiers. Limiting factors: affected versions are pig-mesh pig up to and including 4.1.0 (fixed in 4.1.1); a valid authenticated session is needed; and the vulnerable path only applies to list/query endpoints that actually use this resolver for sorting. |
| Impact | Signals here point consistently toward a low-priority issue despite being a remotely reachable SQL injection. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores only 2.1, driven by PR:L (authentication required) and limited impact (VC:L/VI:L/VA:L, no subsequent-system impact), and the vuln.today decision label is 'monitor' - not act_now or emergency. A public PoC reference exists (vinch3s/pig4cloud-cve) and the description states the exploit has been published, so exploit tooling is available; however, this is a research write-up reference and is not verified as a drop-in working exploit, and there is no CISA KEV listing. No EPSS score was supplied, so exploitation probability cannot be quantified from the input. The attack surface is genuinely remote-network but gated behind a valid authenticated session, and the source evidence shows the flaw is an ORDER BY / sort-column injection (ascs/descs parameters reaching OrderItem.getColumn), which typically enables constrained/blind data extraction rather than unrestricted stacked-query compromise. Net: a real, confirmed defect with a vendor patch, but a low-urgency one - authentication plus limited technical impact make it a monitor-and-patch item, not a drop-everything emergency. Missing data to note explicitly: no EPSS, no KEV, and the exact SQL-injection primitive (blind vs. stacked) is not spelled out in the sources. |
| Exploit ScenarioDerived | An authenticated user of a pig4cloud-based application sends a paginated list request and manipulates the ascs or descs sort parameter, injecting a SQL expression (e.g. a CASE/WHEN or function call) that the SqlFilterArgumentResolver passes into the ORDER BY clause. Because the pre-patch SqlInjectionUtils.check filter failed to block such expressions, the crafted sort field is executed, letting the attacker perform blind extraction of data from the backing database. A public PoC reference exists and the description states the exploit has been published, though it is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
SQL injection in pig-mesh pig through 4.1.0 lets an authenticated user inject SQL into ORDER BY clauses by supplying crafted ascs/descs sort parameters to endpoints that bind pagination through SqlFilterArgumentResolver. The pre-patch code relied on MyBatis-Plus SqlInjectionUtils.check, which the upstream fix's own tests show fails to block case/when expressions, hex(), arithmetic such as user_id+1, comment sequences, and backtick-quoted identifiers. A public PoC reference exists (a GitHub write-up); it is not verified as working exploit code, there is no confirmed active exploitation, and the vendor-released fix is version 4.1.1 (commit 9b6311161e346d7626c81d993044072fed2dca07).
RemediationAI
Vendor-released patch: upgrade to pig-mesh pig 4.1.1, which replaces the bypassable MyBatis-Plus SqlInjectionUtils.check filter with the SqlSortUtils.isValidColumn allowlist in SqlFilterArgumentResolver; see the release notes at https://github.com/pig-mesh/pig/releases/tag/v4.1.1 and the fix commit 9b6311161e346d7626c81d993044072fed2dca07 (PR https://github.com/pig-mesh/pig/pull/1289). If upgrading immediately is not possible, note that the patch's own documentation states the new validator checks field format only and that business layers must still restrict which columns may be sorted, so restrict access to list/query endpoints that bind sorting through this resolver to trusted, authenticated roles and treat the ascs/descs parameters as untrusted input at the gateway or WAF layer; these are compensating controls only and carry the trade-off of blocking legitimate sorting or breaking clients that send unusual sort syntax. The assessed priority is monitor: exploitation needs an authenticated session (CVSS PR:L), impact is limited to confidentiality per the independent assessment, and no active exploitation has been confirmed.
Affected ProductsAI
pig-mesh pig (pig4cloud) versions up to and including 4.1.0 are affected; the flaw lives in pig-common/pig-common-data, in com.pig4cloud.pig.common.data.resolver.SqlFilterArgumentResolver's handling of the ascs/descs sort parameters. Version 4.1.1 is the first fixed release (https://github.com/pig-mesh/pig/releases/tag/v4.1.1), delivered via commit 9b6311161e346d7626c81d993044072fed2dca07 (https://github.com/pig-mesh/pig/commit/9b6311161e346d7626c81d993044072fed2dca07) and pull request https://github.com/pig-mesh/pig/pull/1289. The project repository is https://github.com/pig-mesh/pig/, the VulDB entry is https://vuldb.com/vuln/426095, and a third-party write-up is at https://github.com/vinch3s/pig4cloud-cve/blob/main/Pig4Cloud-SQL-Injection.md. No CPE strings were supplied in the available data.
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
The vulnerable component is the Java Spring-based pig4cloud common data module (pig-common/pig-common-data), specifically SqlFilterArgumentResolver, a Spring argument resolver that converts request parameters such as ascs, descs, current and size into a MyBatis-Plus Page object and its OrderItem list. Those OrderItem column strings are later interpolated into the generated ORDER BY clause, so any attacker-controlled value that survives validation becomes SQL syntax rather than data. The root cause is CWE-74 (improper neutralization of special elements in output used by a downstream component), realized here as CWE-89-style SQL injection through a sort-parameter sink: the pre-patch filter delegated to com.baomidou.mybatisplus.core.toolkit.sql.SqlInjectionUtils.check, an expression blacklist that the added unit tests demonstrate is bypassable with case(1)when(1)then(user_id)else(phone)end, hex(password), user_id+1, user_id/**/, user_id desc, backtick identifiers and similar payloads. The fix replaces that check with a new allowlist validator, SqlSortUtils.isValidColumn, which accepts only a bare column name or a single table-alias-qualified column matching [A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z_][A-Za-z0-9_]*)?; the class comment notably warns that it validates format only and that business layers must still restrict which columns are sortable. Trigger details beyond 'manipulation of ascs/descs reaching OrderItem.getColumn and the ORDER BY clause' are not described in the available sources, and the affected surface is limited to list/query endpoints that actually use this resolver for sorting.
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 but authenticated (PR:L) ORDER BY sort-column injection enabling constrained/blind data read, so C:L with no integrity or availability impact and unchanged scope.
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
DescriptionCVE.org
A flaw has been found in pig-mesh pig up to 4.1.0. This impacts the function orderItem.getColumn of the file pig-common/pig-common-data/src/main/java/com/pig4cloud/pig/common/data/resolver/SqlFilterArgumentResolver.java. Executing a manipulation of the argument ascs/descs can lead to sql injection. The attack may be launched remotely. The exploit has been published and may be used. Upgrading to version 4.1.1 will fix this issue. This patch is called 9b6311161e346d7626c81d993044072fed2dca07. It is suggested to upgrade the affected component. The vendor was contacted early about this disclosure.
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
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB