首页 > 开源 > 积木报表漏洞清零计划:10 月以来修复 32 个安全漏洞,另加固 5 项

积木报表漏洞清零计划:10 月以来修复 32 个安全漏洞,另加固 5 项

OSChina资讯 2026-11-08 22:10 16 阅读 查看原文

积木报表漏洞清零计划

涉及产品:积木报表(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 之前的版本都受这批漏洞影响,特别是部署在公网、或者开放了报表 / 大屏分享链接的系统,请尽快升级。

  1. 积木报表、积木 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

  1. JeecgBoot 用户:升级到 v3.9.6,它已内置积木报表、积木 BI 2.5.6.1。
  2. 配置自己的密钥:签名密钥、数据库密码加密密钥等改成每个部署唯一的随机值。
  3. 修改默认口令:独立版的 admin 口令上线前务必修改。
  4. 公网部署:建议开启地址校验,白名单只放行需要访问的内网地址和端口。

二、修复成果: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:

产品 提交地址
积木报表、积木 BI、Chat2BI https://github.com/jeecgboot/jimureport/security/advisories/new
JeecgBoot 平台(含集成的积木模块) https://github.com/jeecgboot/JeecgBoot/security/advisories/new

操作路径:进入仓库 → Security 标签 → Report a vulnerability。报告只有你和维护者可见。

报告里请写清楚

  • 影响版本:如 jimureport-spring-boot3-starter 2.5.4、JeecgBoot v3.9.5
  • 接口与参数:漏洞所在的请求路径、参数名
  • 前置条件:是否需要登录、需要什么角色、是否需要非默认配置
  • 复现步骤:最小 PoC(请求报文或脚本),最好在官方默认部署上复现
  • 影响:能读到什么数据、能否执行命令等
  • 修复建议(可选)

我们怎么处理

  1. 确认:维护者复现,评估级别。与已有公告同根因的,回复关联公告后作为重复关闭
  2. 修复:修复根因,不只拦截报告里的单个 payload,并排查同类接口
  3. 发版:新版本发布到 Maven Central / JeecgBoot 私服
  4. 回复与披露:在公告中写明影响版本、修复版本和升级方式,再关闭或公开披露

请不要在他人的生产系统上做测试。请在自己搭建的环境中复现。

结语

积木报表、积木 BI 的已知安全公告已经清零。请尽快升级到 2.5.6.1(JeecgBoot 用户升级到 v3.9.6),升级后可以放心使用。感谢每一位提交报告的安全研究人员,也欢迎大家继续监督。