项目未用Hazelcast却被报CVE-2022-36437漏洞的技术咨询
关于Payara Micro 6.2023.1与Hazelcast的关联及CVE-2022-36437漏洞修复
Hazelcast与Payara Micro的关联
Payara Micro 6.x版本默认内置了Hazelcast,作为其分布式会话管理、缓存集群功能的核心依赖组件。即便你的项目没有直接调用Hazelcast的API,只要使用标准Payara Micro包,Hazelcast就会作为底层服务被打包并在启动时加载——这也是Prisma Cloud能检测到该漏洞的原因。
具体到Payara Micro 6.2023.1,它集成的Hazelcast版本处于CVE-2022-36437的受影响范围(漏洞覆盖Hazelcast 5.0.0至5.1.3版本),所以会被扫描工具标记。
CVE-2022-36437漏洞修复方案
根据项目实际情况,可选择以下任一方案:
1. 升级Payara Micro到官方修复版本
Payara官方在后续版本中已将内置Hazelcast升级至安全版本(5.1.4及以上)。建议直接升级到Payara Micro 6.2023.3或更高版本,该版本已修复此漏洞,无需额外配置。
2. 替换内置Hazelcast依赖(无法升级Payara时)
如果暂时不能升级整个Payara Micro,可通过构建工具(如Maven/Gradle)排除内置的受影响Hazelcast依赖,手动引入安全版本:
Maven示例(pom.xml):
<!-- 排除Payara Micro内置的受影响Hazelcast --> <dependency> <groupId>fish.payara.extras</groupId> <artifactId>payara-micro</artifactId> <version>6.2023.1</version> <exclusions> <exclusion> <groupId>com.hazelcast</groupId> <artifactId>hazelcast</artifactId> </exclusion> <exclusion> <groupId>com.hazelcast</groupId> <artifactId>hazelcast-spring</artifactId> </exclusion> </exclusions> </dependency> <!-- 引入安全版本的Hazelcast --> <dependency> <groupId>com.hazelcast</groupId> <artifactId>hazelcast</artifactId> <version>5.1.4</version> </dependency> <dependency> <groupId>com.hazelcast</groupId> <artifactId>hazelcast-spring</artifactId> <version>5.1.4</version> </dependency>
3. 禁用Hazelcast(无需分布式功能时)
如果项目不需要Payara的分布式会话、集群缓存等功能,可直接禁用Hazelcast,彻底消除漏洞风险:
- 启动时添加参数:
java -jar payara-micro.jar --disable-hazelcast - 或在Payara配置文件中关闭Hazelcast自动启动开关
内容的提问来源于stack exchange,提问作者Farrukh Nabiyev
相关产品推荐
相关产品推荐

