Rohan Jagtap created GEODE-10236:
------------------------------------
Summary: Compatibility issues while upgrading Jgroups to versions
4.0+
Key: GEODE-10236
URL: https://issues.apache.org/jira/browse/GEODE-10236
Project: Geode
Issue Type: Bug
Affects Versions: 1.14.4
Reporter: Rohan Jagtap
According to a recent CVE:
{quote}CVE-2016-2141
NVD: 2016/06/30 - CVSS v2 Base Score: 7.5 - CVSS v3.1 Base Score: 9.8
JGroups before 4.0 does not require the proper headers for the ENCRYPT and AUTH
protocols from nodes joining the cluster, which allows remote attackers to
bypass security restrictions and send and receive messages within the cluster
via unspecified vectors.
{quote}
Hence we intend to upgrade jgroups to a recommended version.
However, even the latest version of apache geode ([geode-core
1.14.4|https://mvnrepository.com/artifact/org.apache.geode/geode-core/1.14.4])
uses jgroups 3.6.14 which has the aforementioned vulnerability.
Overriding the jgroups dependency to anything over 4.0+ gives the following
issue on running:
{{Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'gemfireCache': FactoryBean threw exception on object
creation; nested exception is java.lang.ExceptionInInitializerError}}
{{ at
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:176)}}
{{ at
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)}}
{{ at
org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1828)}}
{{ at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1265)}}
{{ at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)}}
{{ at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)}}
{{ at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330)}}
{{ ... 32 common frames omitted}}
{{Caused by: java.lang.ExceptionInInitializerError: null}}
{{ at
org.apache.geode.distributed.internal.membership.gms.Services.<init>(Services.java:155)}}
{{ at
org.apache.geode.distributed.internal.membership.gms.MembershipBuilderImpl.create(MembershipBuilderImpl.java:114)}}
{{ at
org.apache.geode.distributed.internal.DistributionImpl.<init>(DistributionImpl.java:150)}}
{{ at
org.apache.geode.distributed.internal.DistributionImpl.createDistribution(DistributionImpl.java:217)}}
{{ at
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:464)}}
{{ at
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:497)}}
{{ at
org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:326)}}
{{ at
org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:779)}}
{{ at
org.apache.geode.distributed.internal.InternalDistributedSystem.access$200(InternalDistributedSystem.java:135)}}
{{ at
org.apache.geode.distributed.internal.InternalDistributedSystem$Builder.build(InternalDistributedSystem.java:3036)}}
{{ at
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:290)}}
{{ at
org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:216)}}
{{ at
org.apache.geode.internal.cache.InternalCacheBuilder.createInternalDistributedSystem(InternalCacheBuilder.java:346)}}
{{ at java.base/java.util.Optional.orElseGet(Optional.java:369)}}
{{ at
org.apache.geode.internal.cache.InternalCacheBuilder.create(InternalCacheBuilder.java:157)}}
{{ at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:142)}}
{{ at
org.springframework.data.gemfire.CacheFactoryBean.createCache(CacheFactoryBean.java:472)}}
{{ at
org.springframework.data.gemfire.CacheFactoryBean.resolveCache(CacheFactoryBean.java:326)}}
{{ at
org.springframework.data.gemfire.CacheFactoryBean.init(CacheFactoryBean.java:270)}}
{{ at java.base/java.util.Optional.orElseGet(Optional.java:369)}}
{{ at
org.springframework.data.gemfire.CacheFactoryBean.getObject(CacheFactoryBean.java:802)}}
{{ at
org.springframework.data.gemfire.CacheFactoryBean.getObject(CacheFactoryBean.java:110)}}
{{ at
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:169)}}
{{ ... 38 common frames omitted}}
{{Caused by: java.lang.IllegalStateException: JGAddress.create() returned the
wrong class: UUID}}{{ at
org.jgroups.conf.ClassConfigurator.add(ClassConfigurator.java:101)}}
{{ at
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.<clinit>(JGroupsMessenger.java:164)}}
{{ ... 61 common frames omitted}}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)