DataEase: Quartz Deserialization → Remote Code Execution
Title source: cnaExploitation Summary
EIP tracks 1 public exploit for CVE-2026-40901. PoCs published by joaovicdev.
AI-analyzed exploit summary This repository provides a full unauthenticated-to-RCE exploit chain for DataEase <= v2.10.20, chaining four CVEs: CVE-2026-23958 (JWT auth bypass), CVE-2026-40899 (JDBC blocklist bypass), CVE-2026-40900 (SQL injection in previewSql), and CVE-2026-40901 (Quartz deserialization RCE via CommonsCollections6 gadget). The exploit overwrites a Quartz job's JOB_DATA blob to achieve command execution as root.
Description
DataEase is an open-source data visualization and analytics platform. Versions 2.10.20 and below ship the legacy velocity-1.7.jar, which pulls in commons-collections-3.2.1.jar containing the InvokerTransformer deserialization gadget chain. Quartz 2.3.2, also bundled in the application, deserializes job data BLOBs from the qrtz_job_details table using ObjectInputStream with no deserialization filter or class allowlist. An authenticated attacker who can write to the Quartz job table, such as through the previously described SQL injection in previewSql, can replace a scheduled job's JOB_DATA with a malicious CommonsCollections6 gadget chain payload. When the Quartz cron trigger fires, the payload is deserialized and executes arbitrary commands as root inside the container, achieving full remote code execution. This issue has been fixed in version 2.10.21.
Exploits (1)
This repository provides a full unauthenticated-to-RCE exploit chain for DataEase <= v2.10.20, chaining four CVEs: CVE-2026-23958 (JWT auth bypass), CVE-2026-40899 (JDBC blocklist bypass), CVE-2026-40900 (SQL injection in previewSql), and CVE-2026-40901 (Quartz deserialization RCE via CommonsCollections6 gadget). The exploit overwrites a Quartz job's JOB_DATA blob to achieve command execution as root.
References (2)
Scores
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H