我正在做一个Java Jersey应用程序。在我的pom.xml
文件中,我包含了某些具有严重漏洞的Maven依赖项。即使在升级到最新版本后,其中一些依赖项仍然存在严重漏洞。
我正在使用开源的OWASP依赖项工具来扫描依赖项中的漏洞。我关心的具体依赖关系是:
- cassandra-driver-extras-3.11.4.jar
- jackson-databind-2.15.2.jar
- json-20230618.jar
- spark-core_2.13-3.4.1.jar
- spring-boot-starter-parent 3.1.2
- org.apache.kerby:kerb-server:1.0.1(我无法确定其下载源)
我想知道这些依赖是否真的有严重的漏洞。如果有,您能否建议如何解决这个问题?
我将感谢任何关于可以检查依赖漏洞的替代开源工具的建议。
我已将依赖项升级到最新版本,但仍显示严重漏洞。
1条答案
按热度按时间oxalkeyp1#
必须仔细检查OWASP依赖性检查工具(与任何其他类似工具一样)的输出,因为它可能包含误报(在OWASP工具中非常常见)和“有争议”的漏洞。
我已经创建了以下POM,其中包含您列出的依赖项以及最新版本的OWASP
dependency-check-maven
插件:然后在上面执行
mvn verify
。由此产生的漏洞报告说:让我们只检查您列出的前3个库的漏洞:
cassandra-driver-extras-3.11.4.jar
:这是一个误报,因为该工具报告了另一个软件Apache Cassandra的CVE。jackson-databind-2.15.2.jar
:这是最新版本,它只有一个标记为“有争议”的CVE。由你来决定是否可以忽略它。json-20230618.jar
:这是一个误报,因为报告说“版本高达(不包括)20230227”是脆弱的,但你的版本是新的。等
使用相同的POM,加上一个虚拟的main类,我生成了一个Docker镜像:
然后我用
trivy
(另一个漏洞扫描工具)检查了它。对于trivy
,假阳性是罕见的,事实上,上面分析的三个假阳性不会出现;然而,该报告仍然列出了许多CVE: