Skip to main content

pig-mesh pig CVE-2026-115997

LOW
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-10-25 cna@vuldb.com
2.1
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to pig4cloud app
  2. Delivery
    Send paginated request with crafted ascs/descs param
  3. Exploit
    Inject SQL expression into ORDER BY
  4. Execution
    Bypass insufficient sort filter
  5. Impact
    Blind-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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Vendor (vuldb) PRIMARY 2.1 LOW
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
vuln.today AI 4.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
popular Chinese Spring Cloud dev scaffold, limited production footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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· derived
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
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.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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