You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache NiFi 1.25.0升级Spring修复CVE漏洞后启动失败求解决方案

修复NiFi 1.25.0 Spring Framework CVE-2024-22243漏洞的正确姿势

为啥手动替换JAR后启动失败?

NiFi对Spring版本有严格的依赖绑定,直接替换JAR或修改NAR包会打破这种平衡——要么是类版本冲突,要么是内部API不兼容,甚至NAR包的结构被破坏,自然启动不了。

靠谱的修复步骤

1. 首选官方补丁版

先去Apache NiFi官网看看1.25.x系列有没有最新维护版(比如1.25.1),官方通常会在小版本更新里修复这类依赖漏洞,直接升级是最省心的,完全不用手动折腾依赖。

2. 非要手动改?按这个来

如果暂时没法升级官方版,严格按下面步骤操作:

(1)先回退错误操作

把之前替换的文件全改回去:

  • 删除/home/servers/nifi-1.25.0/lib/properties/里的高版本Spring JAR,恢复成NiFi自带的5.3.31版本。
  • 把你修改过的那些NAR包换回官方原版,别自己瞎改NAR结构。

(2)用正确版本的Spring JAR

Spring官方说升到5.3.32就够了,别用5.3.33(版本太高容易出兼容性问题)。替换NiFi核心目录lib/下的Spring JAR,别搞错路径:

# 先备份原文件,以防万一
cp /home/servers/nifi-1.25.0/lib/spring-core-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-core-5.3.31.jar.bak
cp /home/servers/nifi-1.25.0/lib/spring-aop-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-aop-5.3.31.jar.bak
cp /home/servers/nifi-1.25.0/lib/spring-context-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-context-5.3.31.jar.bak
cp /home/servers/nifi-1.25.0/lib/spring-jcl-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-jcl-5.3.31.jar.bak
cp /home/servers/nifi-1.25.0/lib/spring-beans-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-beans-5.3.31.jar.bak
cp /home/servers/nifi-1.25.0/lib/spring-expression-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-expression-5.3.31.jar.bak
cp /home/servers/nifi-1.25.0/lib/spring-web-5.3.31.jar /home/servers/nifi-1.25.0/lib/spring-web-5.3.31.jar.bak

# 替换成5.3.32版本
cp /home/ubuntu/spring_jar/spring-core-5.3.32.jar /home/servers/nifi-1.25.0/lib/
cp /home/ubuntu/spring_jar/spring-aop-5.3.32.jar /home/servers/nifi-1.25.0/lib/
cp /home/ubuntu/spring_jar/spring-context-5.3.32.jar /home/servers/nifi-1.25.0/lib/
cp /home/ubuntu/spring_jar/spring-jcl-5.3.32.jar /home/servers/nifi-1.25.0/lib/
cp /home/ubuntu/spring_jar/spring-beans-5.3.32.jar /home/servers/nifi-1.25.0/lib/
cp /home/ubuntu/spring_jar/spring-expression-5.3.32.jar /home/servers/nifi-1.25.0/lib/
cp /home/ubuntu/spring_jar/spring-web-5.3.32.jar /home/servers/nifi-1.25.0/lib/

(3)正确处理NAR包

NAR是NiFi的模块化包,别乱改所有NAR,只需要处理nifi-spring-nar-1.25.0.nar——这是专门装Spring依赖的包:

  • 解压这个NAR包,把里面的Spring JAR全换成5.3.32版本。
  • 按原结构重新打包成NAR格式,确保和原包的目录结构完全一致,别破坏签名。
  • 其他NAR包除非明确查到里面有旧版Spring且影响漏洞修复,否则别动。

(4)启动失败?查日志找原因

如果还是启动不了,立刻去看logs/nifi-app.log和logs/nifi-bootstrap.log:

  • 要是看到ClassNotFoundException或NoSuchMethodError,说明还有旧版Spring JAR没替换干净,或者某个依赖包只认旧版API。
  • 可以用jdeps工具扫一下NiFi的依赖树,找出冲突的地方。

3. 确认修复成功

启动NiFi后,去/nifi-api/system-diagnostics页面看Classpath里的Spring版本是不是5.3.32,再跑一遍安全扫描,确认漏洞没了就行。

内容的提问来源于stack exchange,提问作者GGB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:25:27