Confluence的CVE-2022-22965漏洞临时修复

背景 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 /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 版本:
Confluence的CVE-2022-22965漏洞临时修复
文章图片

如图显示使用的 JDK11
安装 Java 并修改 Confluence 使用的版本 我选择了 JDK8
apt install openjdk-8-jre-headless
然后修改 setjre.sh 文件
vim /opt/atlassian/confluence/bin/setjre.sh
修改结果:
Confluence的CVE-2022-22965漏洞临时修复
文章图片

保存后重启 Confluence 就可以使用安装的 JDK8 运行啦,这就临时修复了BUG。
需要注意的是,每次升级Confluence后,文件setjre.sh都会被覆盖。也就是说如果官方升级后这个不问题还存在,需要再次修改
参考 【Confluence的CVE-2022-22965漏洞临时修复】https://zhuanlan.zhihu.com/p/498150717
https://confluence.atlassian.com/doc/change-the-java-vendor-or-version-confluence-uses-962342397.html

    推荐阅读