Safeguard
Vulnerability Analysis•

CVE-2023-49442: Critical Deserialization RCE in JEECG 4.0

CVE-2023-49442 is a critical deserialization flaw in JEECG 4.0 and earlier allowing code execution. No fix is named; check the project, block demo routes.

Safeguard Security Team
3 min read

CVE-2023-49442 is a critical deserialization flaw, scored 9.8, in JEECG 4.0 and earlier: jeecgFormDemoController allows arbitrary code execution through a crafted POST request. The record names no fixed version, so check the project's releases and keep the demo controller unreachable from any network.

What's affected

The record says deserialization of untrusted data in jeecgFormDemoController in JEECG 4.0 and earlier allows attackers to run arbitrary code through a crafted POST request. The NVD vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

The only reference is a researcher blog post. I did not fetch it, because it may describe exploitation in detail and the record already states the weakness. The record lists no fixed version, so nothing here confirms a patched release. Check the JEECG project's release notes and issue tracker.

How to check if you're exposed

Find JEECG in your Java projects through the build files. For Maven, list the dependency tree.

mvn dependency:tree | grep -i jeecg

For Gradle, run the dependencies task and search for the same name.

gradle dependencies | grep -i jeecg

If you deploy JEECG as an application rather than a library, read its version from the project files or the admin page. Version 4.0 and earlier is in the affected range.

Then check whether a route that maps to the demo form controller is exposed in your deployment.

What to do now

  1. Find every JEECG deployment and read its version.
  2. Check the project's repository for a release or commit that addresses CVE-2023-49442, since the record names no fix.
  3. Remove or block demo controllers and sample code from any deployment that faces a network.
  4. Place the application behind authentication and a web application firewall rule that restricts the affected route, if you cannot patch.
  5. Review logs for unexpected POST requests to demo endpoints and for new processes on the host.

Why it matters

The weakness is deserialization of untrusted data, CWE-502. When an application rebuilds objects from bytes that an outsider controls, the process can be pushed into running code that the developers never intended.

Demo and example controllers are often shipped with a framework and forgotten in production. They tend to skip authentication because they were written to show a feature, not to protect data. KEV status is false for this CVE, so this post does not claim exploitation in the wild.

Reachability analysis helps here. A dependency scan tells you JEECG is present, and a check of whether the demo route is wired up tells you whether you can be hit.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Why is a demo controller risky?

Demo code is often left unauthenticated and unreviewed, and when it deserializes input it gives attackers a direct route into the application.

Sources

Researcher post referenced by NVD (not fetched)

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.