背景
2022 年 3 月 31 日,Spring
官网公布平安布告,披露 CVE-2022-22965
Spring Framework
近程代码执行破绽。官网已公布平安版本 5.3.18/5.2.20
修复该破绽。
而后查看下来,发现 Confluence
又一次中招啦。本想着等 Confluence
官网公布新版本间接更新解决,然而都一个月了如同也没动静,预计是这个破绽被利用的话须要满足很多条件。所以就查了查长期补救方法,最简略的就是更换运行软件的 Java
版本了,只有 JDK
版本 < 9
就没有问题啦。
查看 Confluence
运行 Java
版本
我用的零碎是 Ubuntu
,在 Confluence
装置时,默认会带有 Java
,但不会增加至环境变量。所以执行
java -version
时并没有反馈。
在 Confluence
装置目录,找到文件 setjre.sh
,查看运行的 Java
版本。
1、Go to <install-directory>/bin/setjre.sh file (Linux)
2、Scroll to the bottom of the file and look for a line similar to the following.
The file path may be different in your file.
In Linux:
JRE_HOME="/opt/atlassian/confluence/jre/"; export JRE_HOME
依照上述门路,找到 Confluence
应用的 Java
版本:
如图显示应用的 JDK11
。
装置 Java
并批改 Confluence
应用的版本
我抉择了 JDK8
apt install openjdk-8-jre-headless
而后批改 setjre.sh
文件
vim /opt/atlassian/confluence/bin/setjre.sh
批改后果:
保留后重启 Confluence
就能够应用装置的 JDK8
运行啦,这就长期修复了 BUG。
须要留神的是,每次降级 Confluence
后,文件 setjre.sh
都会被笼罩。也就是说如果官网降级后这个不问题还存在,须要再次批改
参考
https://zhuanlan.zhihu.com/p/498150717
https://confluence.atlassian.com/doc/change-the-java-vendor-or-version-confluence-uses-962342397.html