当前位置: 首页 > article >正文

3月20日紧急修复|Spring AI双漏洞CVE-2026-22730/22729实战防护方案

文章目录前言这俩漏洞到底是个啥鬼东西CVE-2026-22730SQL注入的借尸还魂CVE-2026-22729JSONPath的暗度陈仓快看看你是不是中枪了受影响的版本范围紧急修复三步走战略第一步升级最靠谱的方案第二步临时缓解措施万一升不了级第三步改代码逻辑治本之策实战检测写个脚本扫一遍深层次思考为什么我们会翻车长期防护建立你的安全雷达1. 订阅官方安全通告2. 依赖扫描工具用起来3. 最小权限原则结语修完漏洞记得喝杯咖啡压压惊参考链接无意间发现了一个CSDN大神的人工智能教程忍不住分享一下给大家。很通俗易懂重点是还非常风趣幽默像看小说一样。床送门放这了 http://blog.csdn.net/jiangjunshow前言兄弟们Spring AI这波背刺来得有点猛。说真的我昨天还在跟同事吹牛逼说咱们这套基于Spring AI的RAG系统稳如老狗结果晚上刷安全通告直接傻眼——Spring官方在3月17号没错就是三天前连发两条高危漏洞公告CVSS评分分别飙到8.8和8.6属于那种看一眼就睡不着觉的级别。这俩漏洞编号记好了CVE-2026-22730和CVE-2026-22729。一个是SQL注入一个是JSONPath注入组合拳打得虎虎生风。更蛋疼的是只要你用的是Spring AI 1.0.x或者1.1.x版本基本都在射程范围内。说白了只要你用了向量数据库做过滤查询就相当于给黑客留了扇后门人家拿着万能钥匙随时能进来翻你家冰箱。我花了一晚上时间复现这两个漏洞今天赶紧把热乎的防护方案写出来。咱不整那些虚头八脑的安全理论直接上手怎么检查、怎么修、怎么防争取让你喝杯咖啡的功夫把坑填上。这俩漏洞到底是个啥鬼东西CVE-2026-22730SQL注入的借尸还魂先说这个评分8.8的狠角色。问题出在MariaDBFilterExpressionConverter这个类上这玩意是干嘛的呢简单理解就是你用Spring AI查MariaDB向量数据库时它负责把你的过滤条件翻译成SQL语句。正常情况下这个过程应该像银行柜台一样柜员代码严格按照规定流程办事客户用户输入说啥都不管用。但这次的bug在于柜员太老实了客户说我要查ID等于1的记录柜员就原封不动地写进SQL。万一客户说的是1 OR 11这种黑话柜员也照办那不就全漏了具体来说当你用FilterExpressionBuilder拼查询条件时如果直接把用户输入的字符串塞进去比如FilterExpressionBuilderbnewFilterExpressionBuilder();b.eq(userId,request.getUserId());// 这里userId如果是恶意构造的...如果userId被填成了1 OR 11这种 payload因为没有做充分的转义处理最后生成的SQL就变成了SELECT*FROMvector_storeWHEREmetadata-$.userId1OR11好家伙这后面的OR 11一加上去直接变成查询所有记录了。这就是典型的SQL注入只不过套了个向量数据库的马甲。CVE-2026-22729JSONPath的暗度陈仓第二个漏洞评分8.6原理类似但玩的是JSONPath注入。这次中招的是AbstractFilterExpressionConverter也就是所有向量存储过滤器的祖宗类。JSONPath这玩意儿可以理解为在JSON文档里找东西的导航系统。正常情况下你应该只能查自己有权限看的数据比如.tenantId user123。但如果系统没处理好攻击者可以注入额外的JSONPath逻辑比如改成.tenantId user123 || $.role admin甚至直接把整个查询逻辑改写。最骚的是这漏洞能直接绕过多租户隔离。想象一下你开发了个SaaS系统每个客户只能看自己的文档结果因为这么个过滤条件没处理好客户A随便构造个请求就能看到客户B的私密数据这不就全完了快看看你是不是中枪了别光听我在这吓唬人先看看你的项目有没有踩雷。检查方法很简单打开你的pom.xml或build.gradleMaven用户看这里org.springframework.ai spring-ai-mariadb-store 1.0.3Gradle用户看这里implementationorg.springframework.ai:spring-ai-mariadb-store:1.1.2// 同样是高危版本受影响的版本范围Spring AI 1.0.0 - 1.0.31.0线全灭Spring AI 1.1.0 - 1.1.21.1线也全灭如果你用的是其他向量存储比如Redis、MongoDB、PgVector也别高兴太早。虽然CVE-2026-22730只针对MariaDB但CVE-2026-22729影响的是AbstractFilterExpressionConverter这个基类只要你用了过滤表达式功能理论上都可能有风险。紧急修复三步走战略第一步升级最靠谱的方案Spring官方已经发布了修复版本1.0.x用户升级到1.0.41.1.x用户升级到1.1.3Maven直接改版本号1.1.3Gradle同理ext{set(springAiVersion,1.1.3)}升级完之后记得跑一遍你的集成测试特别是那些涉及向量搜索、元数据过滤的用例。Spring AI的API在1.0到1.1之间有些breaking changes虽然1.0.4是patch版本但小心驶得万年船。第二步临时缓解措施万一升不了级我知道有些 legacy 项目牵一发而动全身升级版本可能要排期到下周甚至下个月。在这种青黄不接的时候你得先加个止血带——输入验证。既然漏洞是因为用户输入直接拼进查询导致的那咱们就手动过滤一下危险字符。可以搞个简单的工具类ComponentpublicclassFilterInputSanitizer{// 这些字符在JSONPath和SQL里都是危险分子privatestaticfinalPatternDANGEROUS_CHARSPattern.compile([\\\\\|!]);publicStringsanitize(Stringinput){if(inputnull){returnnull;}// 简单粗暴但有效把危险字符全干掉或转义returnDANGEROUS_CHARS.matcher(input).replaceAll();}}然后在你的Repository层加上这层防护ServicepublicclassDocumentService{AutowiredprivateFilterInputSanitizersanitizer;AutowiredprivateVectorStorevectorStore;publicListsearch(StringuserId,Stringquery){// 先洗一遍输入StringsafeUserIdsanitizer.sanitize(userId);SearchRequestrequestSearchRequest.builder().query(query).filterExpression(userId safeUserId)// 注意即使做了sanitize这种拼接方式依然不推荐只是权宜之计.build();returnvectorStore.similaritySearch(request);}}注意这只是临时方案千万别觉得这样就高枕无忧了。真正的安全还得靠升级。第三步改代码逻辑治本之策其实就算没这漏洞直接拼接查询字符串本来就是个坏习惯。Spring AI提供了参数化查询的方式或者说你应该把过滤条件拆得更细别给用户直接操作查询字符串的机会。推荐的做法是用Filter.Expression的API而不是直接传字符串// 不推荐直接把用户输入拼进表达式Stringexprauthor userInput;// 推荐用类型安全的方式构建FilterExpressionBuilderbuildernewFilterExpressionBuilder();Expressionexprbuilder.eq(author,userInput).build();// 升级后的版本会正确处理转义实战检测写个脚本扫一遍光修代码不够你还得确认生产环境到底有没有被捅过。虽然这两个漏洞刚披露三天被大规模利用的可能性还不高但检查一下日志总是好的。可以写个简单的Python脚本或者Java随你喜好扫一下你的访问日志看看有没有可疑的查询参数importre# 可疑的payload特征suspicious_patterns[r\sOR\s1\s*\s1,# SQL注入经典payloadr||.,# JSONPath注入尝试r\s*[^\s],# 逻辑运算符注入r[^]..*# 引号逃逸尝试]defcheck_logs(log_file):withopen(log_file,r)asf:forline_num,lineinenumerate(f,1):forpatterninsuspicious_patterns:ifre.search(pattern,line,re.IGNORECASE):print(f[ALERT] 第{line_num}行发现可疑请求:{line.strip()})breakif__name____main__:check_logs(/var/log/app/access.log)当然如果你用了ELK或者Grafana Loki这种日志系统直接在里面搜关键词更快。重点搜||、、这些在过滤表达式里不该出现的组合。深层次思考为什么我们会翻车这次漏洞给我最大的感触是——别把用户当好人。Spring AI作为一个相对年轻的框架1.0正式版其实也就这一年多的事在便利性上确实做得很好几行代码就能对接大模型和向量数据库。但便利性往往伴随着牺牲它为了让你写得更爽默认把很多细节藏起来了比如这次的过滤表达式拼接。很多开发者包括我在用这些高级封装时很容易产生一种框架会帮我处理好安全的错觉。但现实是框架只提供能力安全还得靠你自己把关。就像给你一把瑞士军刀它能开瓶盖也能割手指关键看你怎么用。另外这也暴露了AI应用的一个通病大家太关注模型效果忽视了工程安全。咱们都在卷RAG的准确率、Agent的响应速度结果基础的数据库查询安全都没做好。这次Spring AI的漏洞说白了就是把传统Web开发时代早就趟过的坑在AI时代又踩了一遍。长期防护建立你的安全雷达1. 订阅官方安全通告这次漏洞我是从Spring官方安全页面看到的建议你把它加入浏览器收藏夹或者订阅RSS。Spring团队处理安全问题的响应速度还是挺快的从漏洞发现到发布补丁也就几天时间但你要是不知道那就等于零。2. 依赖扫描工具用起来如果你还没用OWASP Dependency Check或者Snyk这类工具赶紧安排上。这些工具能自动扫你的依赖库一旦发现高危CVE会直接报警。比如这次Spring AI的漏洞这些工具在3月18号之后就已经能识别了。Maven里配一下CI/CD流水线跑起来。3. 最小权限原则就算没有注入漏洞你的向量数据库连接账号也不应该有DROP TABLE权限。按照最小权限原则应用账号只给SELECT和INSERT就够了。这样就算真的被注入损失也能控制在一定范围内不至于整个库被拖走。结语修完漏洞记得喝杯咖啡压压惊写到这看了眼字数差不多两千字了。其实技术这东西最怕的不是出问题而是出了问题你不知道。这次Spring AI的双漏洞虽然评分高但修复起来还算简单升个版本号的事比那些内核级别的漏洞友好多了。最后提醒一句升级完之后记得在测试环境跑一遍你的AI功能特别是那些依赖元数据过滤的场景。vector store这玩意儿查询逻辑稍微变一点召回率可能就掉几个点安全性和准确性咱们得两头兼顾。好了该说的都说了赶紧去改代码吧。改完记得给自己点杯奶茶毕竟又阻止了一次潜在的数据泄露惨案这杯奶茶你值得拥有。参考链接Spring官方安全通告 CVE-2026-22730Spring官方安全通告 CVE-2026-22729阿里云漏洞库详情NVD漏洞数据库本文技术细节基于2026年3月17-20日公开的安全通告修复方案已在本地环境验证通过。如有遗漏欢迎在评论区指正。

相关文章:

3月20日紧急修复|Spring AI双漏洞CVE-2026-22730/22729实战防护方案

文章目录前言这俩漏洞到底是个啥"鬼东西"CVE-2026-22730:SQL注入的"借尸还魂"CVE-2026-22729:JSONPath的"暗度陈仓"快看看你是不是"中枪"了受影响的版本范围紧急修复:三步走战略第一步:升…...

JDK 26 HTTP/3原生客户端实战|高并发接口性能压测全流程

文章目录前言:当Java程序员的"高速公路"终于修到了家门口第一节:HTTP/3到底牛在哪?先整明白原理1.1 从TCP到UDP:这次真的"叛变"了1.2 0-RTT握手:再见了,三次握手的老规矩第二节&#x…...

QCustomPlot实战:从入门到精通的数据可视化

1. QCustomPlot基础入门:从零搭建绘图环境 第一次接触QCustomPlot时,我被它简洁的API和强大的绘图能力惊艳到了。这个基于Qt的绘图库虽然体积小巧(只有两个核心文件),但能轻松实现折线图、柱状图、散点图等常见图表&am…...

别再手动改数据了!用Vue3+ElementPlus+TS打造一个Excel式可编辑表格(附完整源码)

Vue3ElementPlusTS实战:构建Excel级交互的数据表格解决方案 在数据密集型的后台管理系统中,表格作为数据展示和操作的核心载体,其交互体验直接影响用户的工作效率。传统表格组件往往只提供基础的展示功能,而现代Web应用越来越需要…...

文档下载难题终结者:kill-doc智能工具让资料获取效率提升300%

文档下载难题终结者:kill-doc智能工具让资料获取效率提升300% 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就…...

Qwen3.5-9B多模态token部署详解:早期融合训练架构解析

Qwen3.5-9B多模态token部署详解:早期融合训练架构解析 1. 模型概述与核心特性 Qwen3.5-9B是阿里云推出的新一代多模态大模型,在视觉-语言联合理解任务上展现出卓越性能。该模型通过创新的架构设计,在保持高效推理的同时,实现了跨…...

计算机毕业设计 | SpringBoot+vue仓库管理系统 仓储物流管理平台(附源码+论文)

1,绪论 1.1 项目背景 随着电子计算机技术和信息网络技术的发明和应用,使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里,仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由:一…...

老旧Mac蓝牙功能修复指南:使用OpenCore-Legacy-Patcher重新激活无线连接

老旧Mac蓝牙功能修复指南:使用OpenCore-Legacy-Patcher重新激活无线连接 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧Mac设备升级到新版macOS后&#x…...

Nanbeige 4.1-3B在C语言教学中的辅助应用

Nanbeige 4.1-3B在C语言教学中的辅助应用 让编程教学更智能,让学习C语言更轻松 1. 为什么需要AI辅助C语言教学? 教C语言最头疼什么?学生写了代码不知道怎么调试,问了问题老师来不及一一回答,批改作业要花大量时间………...

对序列信号进行eemd分解,计算样本熵,根据样本熵的大小进行信号重构,重构为低频中频高频信号 ...

对序列信号进行eemd分解,计算样本熵,根据样本熵的大小进行信号重构,重构为低频中频高频信号 程序步骤 有详细的使用说明和参数选择建议 1.输入时间序列, 2.对时间序列进行eemd分解 2.分解后得到IMF序列,分解的结果存放…...

基于51单片机红外魔法手自动追踪跟踪智能车系统

一、系统介绍 随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。根据交通灯在实际控制中的特点,结合单片机的控…...

收藏!小白/程序员轻松掌握大模型落地秘籍:Agent Skills实战指南

大模型落地遇阻?动辄数万的巨型提示词导致推理成本飙升、响应缓慢。Agent Skills应运而生,它通过将业务逻辑模块化、标准化,实现按需加载,提升上下文效率与知识复用性。技能与工具的区别在于,技能是AI的“大脑回路”&a…...

Qwen-Image效果展示:Qwen-VL对含水印、印章、手写批注的办公文档理解精度分析

Qwen-Image效果展示:Qwen-VL对含水印、印章、手写批注的办公文档理解精度分析 1. 引言:办公文档识别的挑战与突破 在日常办公场景中,我们经常需要处理带有各种干扰元素的文档:公司抬头的水印、红色公章印记、领导手写批注等。传…...

别盯着大模型了!AI未来的核心,其实就藏在这3个字里

AI 技术正在从炫技阶段转向实用主义,未来三年比拼的将是可用性而非参数大小。从智能体(Agent)自动执行任务,到小而精的私有化模型,再到多模态交互的进化,AI 正在成为真正的‘打工搭子’。如何用好这个不吃不…...

基于FPGA的机器视觉缺陷检测系统:实现铝片表面四种缺陷的源码端测文件集成,采用SSD-Mob...

基于FPGA机器视觉缺陷检测 实现铝片表面四种缺陷的检测 包含源码和端测文件 使用SSD-MobileNetV1模型,识别精度达到85%以上。基于 FPGA 的金属表面缺陷检测系统——功能全景与技术流程深度解析(核心代码脱敏版)-----------------------------…...

Fish-Speech-1.5多语言TTS实战:基于Python爬虫的语音数据采集与处理

Fish-Speech-1.5多语言TTS实战:基于Python爬虫的语音数据采集与处理 1. 引言 想象一下,你正在开发一个多语言语音助手,需要为13种不同语言生成自然流畅的语音。传统方法需要为每种语言单独录制语音样本,耗时耗力且成本高昂。现在…...

轻量级PDF阅读器,仅几M大小打开秒开

软件介绍 今天要说的是SumatraPDF这款软件,它是一款轻量级的PDF阅读器。之前就有小伙伴收藏过它的旧版本,最小的旧版只有几兆大小,哪怕是现在的最新版本也才20多兆,一直以小巧著称。 新旧版本与体积 目前软件的最新版是安装包形…...

Qwen3-32B-Chat低成本GPU算力方案:单卡RTX4090D替代多卡A100,降本提效实证

Qwen3-32B-Chat低成本GPU算力方案:单卡RTX4090D替代多卡A100,降本提效实证 1. 方案背景与价值 在大型语言模型(LLM)私有化部署领域,传统方案通常依赖多张A100等高规格GPU才能运行32B参数规模的模型。这不仅带来高昂的硬件成本,还…...

Lenovo Legion Toolkit终极指南:开源硬件管理工具深度使用与性能优化

Lenovo Legion Toolkit终极指南:开源硬件管理工具深度使用与性能优化 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit …...

Qwen-Image惊艳呈现:多语言图文混合内容理解与跨模态问答效果集

Qwen-Image惊艳呈现:多语言图文混合内容理解与跨模态问答效果集 1. 开篇:认识Qwen-Image视觉语言模型 Qwen-Image是通义千问推出的多模态大模型,能够同时理解图像和文本信息。这个定制镜像专为RTX 4090D显卡优化,预装了完整的CU…...

让我们从了解axios开始到封装axios(ts+react开发情况下)

1. 一句话解释什么是 AxiosAxios 是一个前端用来“发网络请求”的工具,用来前后端联系 它的主要工作,就是帮你把前端(你的网页)和后端(服务器/数据库)连接起来,实现数据的传递。2. 打个比方&…...

Realistic Vision V5.1 虚拟摄影棚:Visual Studio开发环境配置与调试技巧

Realistic Vision V5.1 虚拟摄影棚:Visual Studio开发环境配置与调试技巧 你是不是也遇到过这种情况:在网上看到别人用Realistic Vision V5.1生成的人像照片,光影、皮肤质感都跟真的一样,心里痒痒的也想自己试试。但一打开Visual…...

AIVideo算法解析:从文本到视频的Transformer架构

AIVideo算法解析:从文本到视频的Transformer架构 1. 引言:当文字开始"动起来" 你有没有想过,为什么现在AI能够把一段简单的文字描述变成流畅的视频?比如输入"一只小猫在草地上追逐蝴蝶",就能生成…...

实时口罩检测-通用模型案例分享:快速检测图片中多人口罩佩戴情况

实时口罩检测-通用模型案例分享:快速检测图片中多人口罩佩戴情况 1. 模型概述与应用价值 1.1 什么是实时口罩检测模型 实时口罩检测-通用模型是一款基于DAMO-YOLO框架开发的高效目标检测工具,专门用于识别图片或视频中人物是否佩戴口罩。该模型能够同…...

Qwen-Image定制镜像部署教程:系统盘精简设计提升启动速度与IO稳定性

Qwen-Image定制镜像部署教程:系统盘精简设计提升启动速度与IO稳定性 1. 镜像概述与核心优势 Qwen-Image定制镜像是专为RTX 4090D GPU环境优化的大模型推理解决方案。基于官方Qwen-Image基础镜像深度定制,预装了完整的CUDA 12.4工具链和Qwen-VL视觉语言…...

中国光伏电站矢量面数据集(2010–2022)|含安装年份+土地类型|SHP格式|河海大学 中科院联合发布

🔍 数据简介 本数据集由河海大学地理与遥感学院陈跃红副教授团队联合中科院地理资源所研制,基于 Sentinel-2 与 Landsat 时序影像,结合 TransUNet 语义分割模型 与 CCDC 变化检测算法,首次实现对中国大陆 2010–2022 年光伏电站 的…...

读了OpenCV均衡化源码,发现一个clipLimit参数背后藏着4层算法设计——从全局CDF到分块插值的对比度增强全链路

一、一行equalizeHist,背后藏了多少东西 对比度增强是图像预处理中最高频的操作之一。拿到一张灰暗的图,调一下对比度让细节显现出来,几乎所有图像分析流水线都要走这一步。 OpenCV提供了两种对比度增强方案:全局直方图均衡化 equalizeHist 和对比度受限自适应直方图均衡…...

Qwen3-ForcedAligner-0.6B在语音转写中的惊艳效果展示

Qwen3-ForcedAligner-0.6B在语音转写中的惊艳效果展示 1. 语音转写的新突破 语音转写技术最近有了一个很有意思的进展,特别是时间戳对齐这个环节。传统方法在处理多语言或者混合语音时,经常会出现时间戳不准、对齐困难的问题,导致转写结果和…...

冬季电脑使用全指南:防静电与低温防护技巧

入冬以来,中国多地遭受寒潮侵袭,北方气温持续走低,甚至“四川小三亚”之称的攀枝花也迎来了雪花纷飞。尽管天气变得寒冷,但我这样的“社畜”却对冬天情有独钟,因为窝在被窝里刷剧、办公、追动漫简直是一种享受。作为一…...

精益生产的核心是什么?以客户价值为导向的浪费消除逻辑

在当前多品种、小批量、短交期的市场环境下,越来越多的制造企业开始推行精益生产,但真正落地见效的并不多。很多企业把精益等同于减人、降本、5S、看板、TPM等工具,认为只要引入几项方法,就是实现了精益。结果往往是:现…...