Apache Geode 1.15.1中CVE-2022-42889漏洞修复后Jar反复出现求助
解决Apache Geode 1.15.1中CVE-2022-42889的Jar被自动还原问题
问题核心是Geode的Pulse组件每次启动locator时,会从安装包自带的pulse.war模板里重新解压生成Web应用目录,所以你手动替换的Jar文件会被覆盖。要彻底解决,得修改源模板文件:
步骤1:定位Pulse模板包
找到Geode安装目录下的Pulse归档文件,路径一般是:
<GEODE_HOME>/tools/Pulse/pulse.war
步骤2:替换模板里的commons-text Jar
- 创建临时目录解压war包:
mkdir /tmp/pulse_temp && cd /tmp/pulse_temp unzip <GEODE_HOME>/tools/Pulse/pulse.war
- 删除旧版本Jar:
rm WEB-INF/lib/commons-text-1.9.jar
- 把下载好的
commons-text-1.10.0.jar复制到WEB-INF/lib目录 - 重新打包war包:
zip -r <GEODE_HOME>/tools/Pulse/pulse.war *
- 清理临时文件:
rm -rf /tmp/pulse_temp
步骤3:清理已生成的旧服务目录
删掉之前自动生成的带漏洞Jar的目录:
rm -rf <GEODE_HOME>/locator01/GemFire_gemfire/services/http/0.0.0.0_7070_pulse_* rm -rf <GEODE_HOME>/locator01/GemFire_root/services/http/0.0.0.0_7070_pulse_*
步骤4:重启Locator服务
用gfsh命令重启locator:
gfsh> stop locator --name=locator01 gfsh> start locator --name=locator01 --dir=<GEODE_HOME>/locator01
验证修复效果
启动后检查新生成的目录里的Jar版本:
ls <GEODE_HOME>/locator01/GemFire_gemfire/services/http/0.0.0.0_7070_pulse_*/webapp/WEB-INF/lib/commons-text-*.jar
正常应该显示commons-text-1.10.0.jar,不会再出现1.9版本。
内容的提问来源于stack exchange,提问作者eli
相关产品推荐
相关产品推荐

