
涉及产品:积木报表(JimuReport)、积木 BI 大屏 / 仪表盘(JimuBI)、Chat2BI
统计时间:2026 年 9 月 11 日 – 11 月 3 日
推荐版本:积木报表 / 积木 BI 2.5.6.1,JeecgBoot v3.9.6
先说结论:积木报表、积木 BI 已知的安全公告已全部处理完,待处理数为 0。请所有用户尽快升级到 2.5.6.1,升级后可以放心使用。
9 月起,我们通过 GitHub Security Advisories 陆续收到不少白帽子和安全团队的报告。我们给自己定了一个目标:把积木报表、积木 BI、Chat2BI 待处理的安全公告全部清零。处理方式是逐条复现、修复根因、发版,再回复公告并关闭。现在这个目标在积木报表和积木 BI 上已经达成。
一、请尽快升级
本轮修复都包含在积木报表、积木 BI 2.5.6 及以上版本中。2.5.6 之前的版本都受这批漏洞影响,特别是部署在公网、或者开放了报表 / 大屏分享链接的系统,请尽快升级。
- 积木报表、积木 BI 升级到 2.5.6.1(Maven Central 已发布 2.5.6;2.5.6.1 为最新的紧急修复版,推荐使用):
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter</artifactId> <!-- Spring Boot 4 用 jimureport-spring-boot4-starter -->
<version>2.5.6.1</version>
</dependency>
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimubi-spring-boot3-starter</artifactId> <!-- Spring Boot 4 用 jimubi-spring-boot4-starter -->
<version>2.5.6.1</version>
</dependency>
如果 Maven Central 还拉不到 2.5.6.1,请配置 JeecgBoot 私服:https://help.jeecg.com/java/setup/maven
- JeecgBoot 用户:升级到 v3.9.6,它已内置积木报表、积木 BI 2.5.6.1。
- 配置自己的密钥:签名密钥、数据库密码加密密钥等改成每个部署唯一的随机值。
- 修改默认口令:独立版的
admin 口令上线前务必修改。
- 公网部署:建议开启地址校验,白名单只放行需要访问的内网地址和端口。
二、修复成果:32 个漏洞,另加固 5 项
9 月 11 日至 11 月 3 日,jeecgboot/jimureport 和 jeecgboot/JeecgBoot 两个仓库中与积木相关的安全公告,共修复 32 个。另外,我们自查发现并修复了 5 项没有公告的安全问题。
| 维度 |
数量 |
| 修复漏洞(公告) |
32 |
| 其中 Critical(严重) |
6 |
| 其中 High(高危) |
24 |
| 其中 Medium(中危) |
2 |
| 自查加固(无公告) |
5 |
按产品分:
| 产品 |
修复数量 |
| 积木报表(JimuReport) |
18 |
| 积木 BI(JimuBI 大屏 / 仪表盘) |
12 |
| Chat2BI |
2 |
按漏洞类型分:
| 类型 |
数量 |
| SQL 注入 |
11 |
| 远程代码执行 |
7 |
| 访问控制 / 越权 |
5 |
| SSRF |
5 |
| 硬编码密钥 |
4 |
不少问题被多位研究人员先后报告,同一个根因有时会收到好几份报告。我们按根因统一修复,并排查了同类接口。
主要加固措施
这一轮修复没有停在单个接口上,而是把几类基础防护统一补齐:
- SQL 注入:数据集参数改为参数绑定,不再拼接字符串;字典、筛选条件等用户输入统一校验。
- 远程代码执行:数据源 JDBC 连接统一拦截危险参数和高风险驱动;表达式引擎加固;fastjson2 升级到 2.0.66。
- 访问控制:设计器敏感接口统一加角色和权限校验;匿名访问只放行已分享或模板页面引用的数据,返回前去掉敏感字段。
- SSRF:出站请求统一做地址校验,跳转时每一跳都校验,白名单支持 "地址:端口"。
- 密钥治理:去掉硬编码默认密钥;页面不再下发签名密钥,改发短期票据;分享凭证按记录派生独立密钥;默认口令改为启动时随机生成。
三、现状:已知漏洞清零,可以放心使用
截至 11 月 8 日:
- 积木报表、积木 BI:jeecgboot/jimureport 仓库历史收到的 20 个安全公告,以及 JeecgBoot 仓库中与积木 BI 相关的公告,已全部处理,待处理数为 0。
- Chat2BI:剩余 1 条报告正在处理,修复版本发布后即可清零。
这一轮不只是逐个修补,SQL 注入、代码执行、越权、SSRF、密钥这几类基础防护都已统一补齐,新增接口也会沿用同一套防护。升级到 2.5.6.1 并按上面的建议配置好密钥和口令,积木报表和积木 BI 可以放心用于生产环境。
安全是持续的工作。以后收到新的报告,我们仍会按同样的流程尽快修复并发版。
四、如何反馈安全漏洞
我们欢迎安全研究人员和用户报告漏洞。为了不让未修复的漏洞先被公开利用,请走私密渠道,不要在公开 Issue、论坛、群聊里贴漏洞细节和 PoC。
推荐:GitHub 私密漏洞报告
两个仓库都已开启 GitHub Private Vulnerability Reporting:
操作路径:进入仓库 → Security 标签 → Report a vulnerability。报告只有你和维护者可见。
报告里请写清楚
- 影响版本:如
jimureport-spring-boot3-starter 2.5.4、JeecgBoot v3.9.5
- 接口与参数:漏洞所在的请求路径、参数名
- 前置条件:是否需要登录、需要什么角色、是否需要非默认配置
- 复现步骤:最小 PoC(请求报文或脚本),最好在官方默认部署上复现
- 影响:能读到什么数据、能否执行命令等
- 修复建议(可选)
我们怎么处理
- 确认:维护者复现,评估级别。与已有公告同根因的,回复关联公告后作为重复关闭
- 修复:修复根因,不只拦截报告里的单个 payload,并排查同类接口
- 发版:新版本发布到 Maven Central / JeecgBoot 私服
- 回复与披露:在公告中写明影响版本、修复版本和升级方式,再关闭或公开披露
请不要在他人的生产系统上做测试。请在自己搭建的环境中复现。
结语
积木报表、积木 BI 的已知安全公告已经清零。请尽快升级到 2.5.6.1(JeecgBoot 用户升级到 v3.9.6),升级后可以放心使用。感谢每一位提交报告的安全研究人员,也欢迎大家继续监督。