datastax cassandra核心驱动器依赖于易受攻击的guava-19

4ktjp1zp  于 2021-06-10  发布在  Cassandra
关注(0)|答案(2)|浏览(368)

datastax cassandra核心java驱动器对guava-19(包括最新的datastax)具有可传递的依赖性,guava-19存在安全漏洞(cve-2018-10237)。
为了解决这个问题,当我尝试从datastax驱动器中排除guava-19.0依赖项并用guava-27.1-jre替换时,我在运行时遇到了以下错误,并通过反编译最新的guava驱动程序确认了这一点;看起来像是从guava-20.0中删除了futurefallback类,并且与最新的cassandra驱动器没有向后兼容性。

java.lang.NoClassDefFoundError: com/google/common/util/concurrent/FutureFallback

任何帮助或快速修复或替代是非常值得赞赏的。

68bkxrlz

68bkxrlz1#

我也有同样的问题&解决方法是从3个地方忽略Guava,而不仅仅是司机。下面是您修复的示例。它对我有用&我现在用的是Guava27。

<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-core</artifactId>
    <version>${datastax.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-mapping</artifactId>
    <version>${datastax.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-extras</artifactId>
    <version>${datastax.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>

以后你可以用你自己的Guava,如下所示:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>${guava.version}</version>
</dependency>
eoxn13cs

eoxn13cs2#

该漏洞与Guava类有关 AtomicDoubleArray 以及 CompoundOrdering ; 我们不把它们用在司机身上。
我们已经在java-1328中解决了guava兼容性问题。该驱动程序兼容16.0.1至最新版本,有一个内部兼容层来解决19中的突破性变化。我刚刚尝试了一个简单的客户端,它覆盖了对27.1-jre的依赖关系,一切正常。
您是如何测试的?错误的堆栈跟踪是什么?

相关问题