首页 网络安全 正文

JeecgBoot匿名聊天附件解析SSRF漏洞CVE-2026-19000

摘要

栋科技漏洞库关注到 JeecgBoot 在 3.9.2 版本存在的匿名聊天附件解析SSRF漏洞,现已追踪为CVE-2026-19000,CVSS 3.X评分 7.3。

JeecgBoot 开源 AI 低代码快速开发平台(Apache2.0 协议),主打低代码 + 零代码双模式,基于 SpringBoot+Vue3 前后端分离架构。

一、基本情况

JeecgBoot 开源低代码开发平台专用来快速搭建企业中后台系统,开箱即用、权限与工作流成熟、国产化适配完善、AI 降低开发门槛。

JeecgBoot匿名聊天附件解析SSRF漏洞CVE-2026-19000

JeecgBoot 单体微服务自由切换、中文文档完善,提供应用生成、企业级后台 AI 集成能力,用于OA、ERP、政务、CRM、管理后台。

栋科技漏洞库关注到 JeecgBoot 在 3.9.2 版本存在的匿名聊天附件解析SSRF漏洞,现已追踪为CVE-2026-19000,CVSS 3.X评分 7.3。

二、漏洞分析

CVE-2026-19000漏洞是 JeecgBoot 相关版本中的 Airag 匿名聊天附件解析,导致可访问内网及远程 HTTP 资源并回显文档内容漏洞。

受影响版本中,AiragChatController#send 是公开可访问的匿名接口,未校验 X-Access-Token 即可传入 files;

AiragChatServiceImpl 在 buildContentWithFiles 阶段对 files 中形如 http(s):// 的远程地址调用 SsrfFileTypeFilter.checkSsrfHttpUrl,

而该校验仅阻断 loopback 与 link-local,未阻断 10.0.0.0/8172.16.0.0/12192.168.0.0/16 等私网地址,

导致 FileDownloadUtils.download2DiskFromNet 直接以服务端身份请求内网资源并经 Tika 解析后回显到模型上下文,

存在服务器端请求伪造风险。

具体来说,/airag/chat/send 是匿名可访问接口,请求体中的 files 参数允许传入远程 http/https 文件地址。

后端会下载该文件,使用 Tika 解析文本,并将解析结果拼接进模型上下文。

当前 SSRF 校验只阻断 loopback 和 link-local 地址,未阻断 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 等私网地址。

因此攻击者可以让服务端访问内网文件服务;如果返回的是 txt/pdf/docx/xlsx 等允许的文档类型,文档内容可能通过模型响应泄露。

入口接口:

org.jeecg.modules.airag.app.controller.AiragChatController

@IgnoreAuth
@PostMapping(value = "/send")
public SseEmitter send(@RequestBody ChatSendParams chatSendParams) {
return chatService.send(chatSendParams);
}

附件进入模型上下文:

org.jeecg.modules.airag.app.service.impl.AiragChatServiceImpl

if(!CollectionUtils.isEmpty(sendParams.getFiles())){
content = buildContentWithFiles(content, sendParams.getFiles());
}

远程文件下载:

if (LLMConsts.WEB_PATTERN.matcher(fileRef).matches()) {
SsrfFileTypeFilter.checkSsrfHttpUrl(fileRef);
FileDownloadUtils.download2DiskFromNet(fileRef, tempFilePath);
return new File(tempFilePath);
}

SSRF 校验逻辑:

org.jeecg.common.util.filter.SsrfFileTypeFilter

for (InetAddress addr : InetAddress.getAllByName(host)) {
if (addr.isLoopbackAddress() || addr.isLinkLocalAddress()) {
throw new JeecgBootException("非法URL:禁止访问本机或链路本地地址 " + addr.getHostAddress());
}
}

满足以下条件即可触发:

攻击者可访问 /airag/chat/send

请求无需携带有效登录态或 X-Access-Token

files 中传入服务端可访问的内网 HTTP 文件地址

文件扩展名在允许列表中,例如 txt、pdf、docx、doc、pptx、xlsx、md

错误截图:

读取内网及远程服务器的文件并原样输出在模型上下文

内网文件请求

JeecgBoot匿名聊天附件解析SSRF漏洞CVE-2026-19000

远程文件请求

JeecgBoot匿名聊天附件解析SSRF漏洞CVE-2026-19000

远程服务器接收到请求

JeecgBoot匿名聊天附件解析SSRF漏洞CVE-2026-19000

三、影响范围

JeecgBoot ≤ 3.9.2

四、修复建议

JeecgBoot>3.9.2

五、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接