Miggo Logo

CVE-2024-3366: Xuxueli xxl-job template injection vulnerability

3.5

CVSS Score
3.1

Basic Information

EPSS Score
0.24302%
Published
4/6/2024
Updated
4/8/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
com.xuxueli:xxl-job-coremaven<= 2.4.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability centers around insecure deserialization in JdkSerializeTool.java. The deserialize method directly uses ObjectInputStream.readObject() on untrusted input, which is a well-known anti-pattern for Java applications. This allows arbitrary object deserialization attacks. While other utility classes (ScriptUtil, FileUtil) are mentioned as exploitation vectors, the root cause is the insecure deserialization in JdkSerializeTool. The CWE-74 classification and public exploit POC confirm this is an injection vulnerability stemming from improper input neutralization during deserialization. The GitHub issue #3391 explicitly links template injection attacks to this deserialization weakness as the entry point.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* vuln*r**ility *l*ssi*i** *s pro*l*m*ti* w*s *oun* in Xuxu*li xxl-jo* v*rsion *.*.*. T*is vuln*r**ility *****ts t** *un*tion `**s*ri*liz*` o* t** *il* `*om/xxl/jo*/*or*/util/J*kS*ri*liz*Tool.j*v*` o* t** *ompon*nt `T*mpl*t* **n*l*r`. T** m*nipul*tio

Reasoning

T** vuln*r**ility **nt*rs *roun* ins**ur* **s*ri*liz*tion in `J*kS*ri*liz*Tool.j*v*`. T** `**s*ri*liz*` m*t*o* *ir**tly us*s `O*j**tInputStr**m.r***O*j**t()` on untrust** input, w*i** is * w*ll-known *nti-p*tt*rn *or J*v* *ppli**tions. T*is *llows *r