DataEase: authentication bypass via password-derived HMAC JWT signing key
What's the vulnerability?
DataEase (a Spring Boot data-visualization platform; the Chinese equivalent of Metabase / Superset) signs its authentication JWTs with an HMAC-SHA256 key derived from the admin password. In the community edition the derivation is literally MD5(SubstituleLoginConfig.getPwd()), and the password defaults to the documented constant DataEase@123456 that ships with every fresh install via dataease.default-pwd.
An unauthenticated, anonymous attacker with only network access can therefore:
- Compute
secret = MD5("DataEase@123456"). - Forge a JWT with header
{alg: HS256, typ: JWT}and payload{uid: 1, oid: 1}. - Present it as the
X-DE-TOKEN(DataEase's auth header) and call any authenticated REST endpoint as the admin user.
This is the first link in a 4-CVE exploit chain (CVE-2026-23958 → 40899 → 40900 → 40901) that culminates in unauthenticated RCE per the OX disclosure.
Root Cause Analysis
Variant Analysis
Bypass and alternate trigger exploration (if present).
Verify with pruva-verify
Run the Pruva CLI to automatically fetch and execute the reproduction script.
pruva-verify REPRO-2026-00168 pruva-verify CVE-2026-23958 curl -fsSL https://pruva.dev/install.sh | sh Or Run Manually
Download the script
curl -O https://pruva.dev/api/v1/reproductions/REPRO-2026-00168/artifacts/bundle/repro/reproduction_steps.sh Make executable
chmod +x reproduction_steps.sh Run the script
./reproduction_steps.sh How Pruva Reproduced This
Watch the AI agent's step-by-step process.
Loading session...