This release includes 5 security fixes for security teams reviewing exposed deployments.
Topics
+13 more
ReleasePort's take
Moderate signalRelease v3.9.2 patches critical security flaws including remote code execution, cross‑tenant data writes, AI poster SSRF, attachment path traversal, authentication privilege escalation, and JDBC URL injection.
Why it matters: Patch to v3.9.2 immediately; all listed vulnerabilities are high severity (CVSS ≈ 7–8) affecting system, multi‑tenancy, AI, auth, and database surfaces.
Summary
AI summaryMultiple high‑severity security vulnerabilities including SSRF, path traversal and remote code execution are fixed.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Cross-tenant AiragApp data write vulnerability fixed Cross-tenant AiragApp data write vulnerability fixed Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Security | Medium |
AI poster SSRF vulnerability patched AI poster SSRF vulnerability patched Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Security | Medium |
AI attachment path traversal vulnerability patched AI attachment path traversal vulnerability patched Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Security | Medium |
SysUserController privilege escalation vulnerability fixed SysUserController privilege escalation vulnerability fixed Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
JDBC URL injection vulnerability from incomplete blacklist fixed JDBC URL injection vulnerability from incomplete blacklist fixed Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
MCP and sensitive tools permission validation added MCP and sensitive tools permission validation added Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
Remote code execution vulnerability fixed Remote code execution vulnerability fixed Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
Resolved SysUserController privilege escalation (issue 9518) Resolved SysUserController privilege escalation (issue 9518) Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Security | Medium |
Corrected JDBC URL injection from incomplete blacklist (issues 9431, 9429, 9468) Corrected JDBC URL injection from incomplete blacklist (issues 9431, 9429, 9468) Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Feature | Medium |
Natural language generates complete CRUD system Natural language generates complete CRUD system Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
One-to-many link_table and link_table_field types One-to-many link_table and link_table_field types Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI video generation implemented as real feature AI video generation implemented as real feature Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI audio generation implemented as real feature AI audio generation implemented as real feature Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Chat2BI generates pagination tables with export Chat2BI generates pagination tables with export Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Chart2BI integrates with Online forms Chart2BI integrates with Online forms Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI Flow adds variable read/write nodes AI Flow adds variable read/write nodes Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI Flow adds memory retrieval and write nodes AI Flow adds memory retrieval and write nodes Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI assistant supports web search capability AI assistant supports web search capability Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI Flow LLM nodes output structured JSON AI Flow LLM nodes output structured JSON Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI Flow supports file upload as start node AI Flow supports file upload as start node Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Local text-to-speech synthesis support added Local text-to-speech synthesis support added Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Online frontend source code completely open-sourced Online frontend source code completely open-sourced Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
LongText field type added to Online LongText field type added to Online Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
New Online Chart module added New Online Chart module added Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Subtable supports classified and custom dictionary trees Subtable supports classified and custom dictionary trees Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
DeepSeek v4 model now supported DeepSeek v4 model now supported Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
AI Flow adds loop variable support AI Flow adds loop variable support Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Claude Code Skills integrated with low-code platform Claude Code Skills integrated with low-code platform Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Introduced Online Chart module for rapid chart configuration Introduced Online Chart module for rapid chart configuration Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Feature | Medium |
Subtables support classified and custom dictionary tree controls Subtables support classified and custom dictionary tree controls Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Feature | Medium |
AI Flow introduced loop variable nodes for iterative processing AI Flow introduced loop variable nodes for iterative processing Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Dependency | Medium |
Langchain4j upgraded to 1.12.2 with Agent Skills Langchain4j upgraded to 1.12.2 with Agent Skills Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Online configuration page performance optimized Online configuration page performance optimized Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Performance | Medium |
On-demand loading reduces frontend bundle size On-demand loading reduces frontend bundle size Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Online form opening speed improved Online form opening speed improved Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Implemented on‑demand loading of components (antd, unplugin-icons, Jvxetable, Vxetable, TinyMCE, etc.) reducing bundle size Implemented on‑demand loading of components (antd, unplugin-icons, Jvxetable, Vxetable, TinyMCE, etc.) reducing bundle size Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
Full changelog
升级日志
v3.9.2 是 JeecgBoot 自 AI 路线开启以来最重的一次版本大升级。 低代码再进化,正式迈入 v2.0 时代——从「拖拉拽」到「一句自然语言」,全线 Skills 加持,一句话即可搭建业务,手工配置成为历史!低代码不再只是「拖拖拽拽生成 CRUD」,一句话创建大屏、一句话搭建 OA 审批、一句话生成整个系统,已在 JeecgBoot 成为现实!本次升级还全面打磨低代码开发体验,涵盖表单、图表、大屏、安全与前端性能的系统性优化,同步开放 Online 前端源码,并新增 Online 图表大模块。
✨ 本次发布的"高度"
1. Skills:让 AI 真正成为你的开发搭档
- Claude Code Skills 接入低代码:代码生成、Online 表单、报表、大屏、流程全面对接 Claude Skills,无需手动操作代码生成器——AI 一句话生成代码、一句话生成整个系统、一句话创建 Online 表单、一句话创建 Online 报表、一句话设计大屏、一句话配置字典、创建菜单并完成授权,全部触手可及。
2. AI 应用大优化
- Chat2BI / Chart2BI 对接 Online 表单:一句话生成分页表格、报表与图表配置,数据分析链路全程打通。
- AI 流程编排能力大爆发:新增变量读写、记忆检索、循环变量、结构化 JSON 输出、提示词表关联、文件上传起点节点等,AiFlow 已进化为一套完整的可视化 Agent 编排平台。
- AI 应用工具白名单 + 跨租户隔离:能力开放与权限管控并举,SaaS 多租户安全边界筑牢。
- 配套上线 AI 助手联网搜索 与 AI 流程搜索引擎节点,让 AI 流程既能「会用工具」,也能「会查资料」。
- Langchain4j 1.12.2升级:Java AI 应用能力边界重新定义——AI 助手不再依赖人工提示词盲调接口,也支持 Skills 元数据自动选择并调用业务能力。
3. AI多模态生产力(图 / 音 / 视频 / 换衣)
- 真实的 AI 生成 音频 / 视频 / 图片,不再是 Demo
- AI 换衣 同时输出图片与视频
- 谷歌生图模型、本地语音合成、混图示例 全部到位
- 模型矩阵补齐:VLLM / Xinference / LMStudio / qwen-vl-ocr / qwen3.5-plus / 通义千问 / 千帆
4. Online 三件套(表单 / 报表 / 图表)一次性优化
- Online 模块前端源码完全开源,AI 时代用户可自由灵活扩展,二次开发无门槛
- 新增 Online 图表大模块,快速配置图表面板,为用户提供更多可视化选择
- 新增 LongText 字段类型 与 link_table / link_table_field 类型(Vue3 一对多关联记录、跨表字段引用)
- 子表支持分类字典树与自定义字典树,层级数据配置更灵活
- 解决多年顽疾:Online 配置卡顿(QQYUN-14177)、Online 打开慢、小屏字段定位不可见 等体验痛点全面修复
- 新增 Online 表单 Schema 规范文档,为 AI 深度理解 Online 元数据夯实基础
5. 全面按需加载,前端瘦身
- antd / unplugin-icons / Jvxetable / Vxetable / TinyMCE / JEasyCron / codemirror / 聊天模块 全部按需加载
- 首屏体积与加载速度显著下降,为 AI 助手在线入驻业务页面铺平道路
6. 安全加固
- AI 海报 SSRF(#9579)、AI 附件路径遍历(#9519)、AiragApp 跨租户写入(#9462)、Token 越权(#9518)、RCE #9335 等多个高危漏洞集中修复
- 给 MCP / 底层敏感工具 全面加上权限校验
🎯 低代码 v2.0 时代,意味着什么?
Skills 让低代码平台沉淀的表单、流程、报表、大屏,自动成为 AI 可直接调用的业务能力——无需手写 Tool、无需二次开发,自然语言即可驱动全套业务流程自动化执行,甚至一句话生成整个系统。
| 维度 | v3.9.1 及以前(拖拉拽时代) | v3.9.2(一句话时代) |
|---|---|---|
| 低代码定位 | 表单 / 流程 /代码生成 / 报表和大屏设计 | AI Native 的业务能力出口 |
| 交互方式 | 拖拉拽 + 手工配置 | 一句自然语言,搞定一切 |
| 业务搭建 | 手动拖组件、配字段、设流程 | 一句话设计表单,画流程 / 报表 / 大屏 / 菜单 |
| AI 用法 | 完全手工搭建:手动配表单、画流程、建关联、配菜单、逐步授权 | AI 一句话搭表单、画流程、绑关联、建菜单、完成授权,一条龙搞定 |
| 业务接入 AI | 需二次开发手写 Tool | Online 表单 / 流程节点 = 天然 Skill |
| 多模态 | 仅文本 | 文本 / 图像 / 音频 / 视频 /Skills 全模态覆盖 |
| 安全 | 漏洞分散修复 | 专项漏洞修复 + 权限管控 + 租户隔离加固 |
Skills 功能模块(全新独立仓库 jeecgboot/skills)
与 v3.9.2 主版本同步发布的全新独立仓库 jeecgboot/skills —— 基于 Claude Code 的 AI 技能集合,用自然语言驱动,一句话生成代码、表单、流程、报表、图表、大屏、仪表盘。
仓库基础信息
- 适配:JeecgBoot 3.x/2.x
- 依赖:Python 3.12+,Claude Code
- 模型:官方 Claude / DeepSeek-v4 / MiniMax 2.7 三套方案任选
JeecgBoot 六大 Skills
- jeecg-codegen:代码生成器 —— 自然语言生成全套 CRUD(Java + Vue3 + SQL)
- jeecg-onlform:Online 表单生成器 —— 元数据驱动创建 CRUD 表单
- jeecg-onlreport:Online 报表生成器 —— SQL 驱动的数据报表
- jeecg-desform:设计器表单生成器 —— 支持截图识别生成表单 JSON
- jeecg-onlchart:Online 图表生成器 —— 自动生成数据可视化图表
- jeecg-bpmn:BPM 流程生成器 —— 自动生成 Flowable BPMN XML 审批流程
JimuReport 三大 Skills
- jimureport:积木报表生成器 —— 多类型报表 + 截图识别生成
- jimubi-bigscreen:大屏生成器 —— 1920×1080 全屏数据可视化
- jimubi-dashboard:仪表盘生成器 —— 24 列栅格布局数据看板
AI 应用
大特性
- DeepSeek 最新大模型 deepseek-v4 兼容 #9585
- AI 助手支持联网搜索
- AI 流程新增搜索引擎节点
- Langchain4j 新版支持 Agent Skills,重新定义 Java AI 应用的能力边界
- langchain4j 升级到 1.12.2 版本
- jeecg-boot-starter-chatgpt 更名为 jeecg-boot-starter-ai
- AI 生成视频页面(含视频生成服务及接口实现)
- AI 生成音频页面
- AI 换衣功能可生成图片和视频
- 视频生成做成真实功能
- 语音生成做成真实功能
- 支持谷歌生图模型
- AI 绘画
- 支持本地语音合成
- AI 知识库支持网页类型知识库
- 【issues/8143】知识库能够自定义分词参数
- 创建知识库时可创建分段策略,知识库内文档默认沿用
- 商品导购应用加入应用门户
AI 流程 (AiFlow)
- 新增变量读取 / 变量赋值 / 记忆检索 / 记忆写入节点
- 开始节点支持上传文件
- LLM 节点支持结构化输出 JSON 对象
- LLM 节点对接提示词表,可直接关联提示词
- LLM 节点关联提示词必须选择后才切换,避免用户未关联直接使用
- 新增循环变量节点
- 循环节点支持暴露循环体内节点变量
- AI 流程知识库写入支持分段策略
- 节点需要应用时展示选应用下拉框
- 工具调用节点展示 MCP 暂不支持的提示
- 优化调试展示,先跳到追踪页,结束跳转结果页
- 支持发布后只读查看节点配置
- 新增拖拽新增节点
- 流程编排 HTTP 请求超时时间设置了未生效 #9533
- 修复调试时记忆节点找不到记忆库 ID
- 自定 SQL 语句前后有空格时无法执行
- 修复删除连线按钮错位
- 修复记忆写入节点样式问题
- 修改添加字段弹窗的最小高度避免出现滚动条
AI 聊天 / 智能体
- 智能体里调用的工具过程也可以显示出来
- 智能体加上"是否显示工具调用过程"
- 工具调用结果展示新增滚动条
- AI 模型未激活或不可用时直接使用平台底层默认模型
- 平台默认聊天支持图片
- 聊天无法交互、无法输入提示
- 聊天界面没有提示准确信息
- 采用系统默认聊天,图片生成成功但日志不应提示"模型未激活"
- AI 应用调用工具后继续问答会导致报错
- AI 写作应该以"回复"来生成而非以"内容"
- Chat2BI 生成分页 table、支持导出报表
- Chart2BI 对接 Online 表单
- AI 改成异步,支持切换菜单
- 视频实际已生成完却报错
- 修复点击终止按钮后后台日志仍继续输出
- 优化 AI 工具调用异常处理,统一翻译为友好提示
- 优化 API 账户余额不足提示信息
- AI 门户提示模型未激活
- 样式优化,字体小一号
- 海报链接替换
- 图像变形
- 混图增加示例
- 混图表单尺寸修改
AI 模型对接
- 【issues/9359】支持 VLLM
- 支持 LMSTUDIO
- 向量模型支持 HTTP 1.1 协议
- 【issues/9314】建议优化 Xinference 支持
- 已激活模型增加"取消激活"
- 【issues/8】激活 qwen-vl-ocr 模型报错(增加扩展配置)
- 【issues/9446】qwen3.5-plus 新版本 API 需开启 incremental_output
- 【PR#9539】通义千问 API 不接受 null 消息内容
- 【#9374】千帆向量报错添加异常处理防止空指针
- 注释绘画模型必填,采用默认模型,绘画 id 不必填
AI 知识库 / RAG / 记忆 / 变量
- 【issue/9418】AI 知识库上传文件太大向量化失败
- 【issues/9402】文档向量化文件名中文乱码导致失败
- 【issues/9551】HTML 表格向量化分段被截断
- 【issues/9551】macOS 压缩包隐藏文件过滤(.__MACOSX/.DS_Store 等)
- 修复向量化时自定义分段器空白文本段异常
- 【issues/9455】AI 应用中设定的 RAG 参数未生效
- 【AI 记忆】强化 query_memory 触发时机描述,避免 LLM 在未查询时直接反问用户
- 记忆库不需要分段策略
- 【AI 变量】支持批量更新变量,返回结构化结果避免 LLM 重复调用
MCP / Skills / Tool
- 【#9483】给 MCP 加上权限校验
- MCP 查询接口暂时不加权限
- 【#9464】修复未授权用户调用底层敏感工具
- 微服务nginx部署openApi接口访问不到 #9590
安全漏洞
- 【issues/9579】AI 海报图片下载 SSRF 漏洞,校验拒绝 loopback / link-local
- 【issues/9519】AI 附件处理路径遍历漏洞:规范化路径并强制校验沙箱范围
- zip 文件 filePath 以 \ 或 / 开头被 Path.resolve 当成驱动器根路径误判
- 【issues/9462】修复 AiragAppController.edit 跨租户数据写入漏洞
- 【issue/9518】修复 SysUserController.getUserSectionInfoByToken 越权漏洞
- 【issues/9431】【issues/9429】文件地址漏洞问题
- 【issues/9424】CommandExecUtil 路径遍历
- 【issues/9425】EmbeddingHandler 路径遍历
- 【issues/9421】buildUrl 路径遍历漏洞
- 【#9335】远程命令执行 (RCE) 漏洞
杂项
- AiragChatServiceImpl.java 编译错误,使用 instanceof 替代类型比较
- 演示系统三个账号作废
- 同步开源的异常流关闭
- 大屏设计器支持AI助手
Online 表单
配置 / 体验优化
- 开放 Online 前端源码
- 新增 Online 图表大模块
- Online支持启用外部链接,支持以外部表单方式开放访问,用户可通过链接直接进入表单完成数据填报及修改操作。
- Online 配置页面修改
- Online 配置新增字段排在系统字段之前
- 子表隐藏一些扩展配置
- 一对多他表字段需能选择所有字段
- 一对一 / 一对多编辑和详情他表字段没值
- Online 一对多增加关联记录和他表字段
- Vue3 Online 一对多新增 link_table、link_table_field 两种类型
- 【issues/7633】Online 子表支持分类字典树、自定义字典树
- 子表支持分类字典树和自定义字典树控件
- Online 配置中尽可能多显示 Vxetable 字段
- Online 配置整体优化
- Online 配置界面字段配置卡顿
- 解决 Online 打开慢的问题
- 解决字段定位在小屏幕上看不见
- 字典放在页面属性 tab 中
- 图标本地化
- 支持配置独立的省、市、县
- 【#9366】Online 表单新增 LongText 类型
- 数字类型超出 JS 数值范围加提示
- 渲染字典有大量警告
- 优化删除确认提示内容和样式
- 新增 Online 表单 Schema 规范文档
Bug 修复
- 【issues/9307】下拉加载表字典需滚动加载
- Online 详情单独的省市没显示
- 点击展开全部时树节点没全部展开
- Online 配置生成数据按钮点击无效
- Online 授权弹窗警告
- 开发环境数据权限看不到数据,生产正常
- 【issues/9452】Online 样式影响到了主项目
- 【issues/9414】一对一子表设置 label 长度不生效
- 【issues/9336】列宽拖动不了
- 【issues/9265】多选查询使用模糊查询,字典含 1、10 时按 1 查询会带出 10
- Online JS 增强修改下拉不生效
- Jvxetable / Vxetable 按需加载
Online 报表 / 图表
- Online 图表使用系统变量报错
- 修复动态数据源解析时未填写 OrderBy 报错
- 【#9468】修复不完整黑名单和数据源端点权限缺失导致的 JDBC URL 注入
前端
按需加载(性能)
- 按需加载 codemirror
- Jvxetable / Vxetable 按需加载
- TinyMCE 富文本、JEasyCron、JLinkTableCard 异步加载
- Vue3 聊天按需加载改造
- basicForm 中的自定义组件改成按需
- 新增 unplugin-icons 插件,icon 支持 online / local 两种模式
- antd 采用 unplugin-vue-components 实现按需加载
- JCronValidator 从 Form 中注释,防止首页加载,改为业务中导入
- 首页不加载 AppSearch 等
- 登录页注册、二维码登录、忘记密码组件动态加载
- 兼容 Vxetable 引入到了页面也不报错
- Jvxetable 改成按需后不允许内部引用,否则页面卡死
通用组件
- 升级积木报表到最新版
- 升级积木BI大屏到最新版,支持支持 AI 助手
- 【issues/9326】ApiSelect 返回数据中包含 options 字段名导致渲染失败
- 【issues/9448】滚动时 TinyMCE 下拉打开则隐藏
- 【issues/9511】弹窗高度自适应(含全屏问题及对流程弹窗影响的还原)
- 【issues/9405】顶部混合导航模式下点击一级菜单时,最后一级是隐藏路由显示不对
- 【issues/9212】JVxeTypes.popup 中属性 param 传参后弹框数据为空
- 【#9370】j-vxe-table 列表编辑,使用 slot 后表头不显示编辑图标
- Jvxetable 下拉搜索点击无反应
- Vxetable 自定义树和分类字典树组件选完后变非编辑模式时先闪现 id
- 修复 Jvxetable 使用 fixed 固定后无法拖拽
- Jvxetable 优化
- 使用日期、级联等组件出现警告
- iframe 支持麦克风权限
用户 / 部门 / 选人
- 【JHHB-1278】用户组件支持部门、岗位、用户组
- 用户选择新组件部门多时滚动展示不全
- 用户组添加用户查询时需要模糊查询
- 部门用户组件搜索功能修改
- 【JHHB-1402】通知公告选人组件全屏操作底下有空白
- 【JHHB-1401】通知公告按部门选择接收人,部门下人员不全
- 【JHHB-1400】Web 端笔记本审批选择下一步操作人,左侧部门列表滚动加载不全
系统消息
- 【JHHB-1340】系统消息需要显示消息发送时间
- 【JHHB-1390】PC 端消息列表下方有空白(Edge / Chrome 都有)
- 【JHHB-1239】PC 端即时通讯消息需要闪烁提示
- 【JHHB-1410】新闻中心添加置顶、范围设置
- 【JHHB-1389】审批角色管理搜索审批角色后列表未加载数据
- 【JHHB-1189】PDF 打印时把流程业务标题作为 PDF 文件名
- 【Github #8855】修复文件预览路径处理问题,filePath 需先通过 getFileAccessHttpUrl 拼接完整 URL 再编码
- 系统消息弹窗内容高度显示异常
- 删除单表实例页面中假的高级查询按钮
Security Fixes
- CVE‑#9579 – AI海报图片下载 SSRF vulnerability (fixed by rejecting loopback/link‑local URLs).
- CVE‑#9519 – AI附件路径遍历 vulnerability (fixed by normalizing paths and enforcing sandbox checks).
- CVE‑#9462 – AiragAppController.edit cross‑tenant data write vulnerability (fixed).
- CVE‑#9518 – SysUserController.getUserSectionInfoByToken privilege escalation vulnerability (fixed).
- CVE‑#9335 – Remote Code Execution (RCE) vulnerability (fixed).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About JeecgBoot
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]