如何修复我在项目中使用的另一个库使用的易受攻击的依赖项?
Posted
技术标签:
【中文标题】如何修复我在项目中使用的另一个库使用的易受攻击的依赖项?【英文标题】:How to remediate vulnerable dependency used by another library which I used in my project? 【发布时间】:2021-04-27 06:33:32 【问题描述】:我正在使用没有微服务架构的 Apache Maven 3.6.3 和 Spring boot 1.5。我正在执行一项任务来修复我们项目的依赖关系树中当前存在的易受攻击的依赖关系。 logback-classic 是这些依赖项之一。我可以更改***依赖项的版本(在*** pom 中),但我无法将其版本从 1.11.1 升级到 1.2.3,因为 spring-boot-starter-web 启动器中存在的 logback-dependency 用于一个子 POM。
我可以排除这样的版本——
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
但是,我无法更新项目中 JAR 之一的 spring-boot-starter-web 启动器的依赖树中存在的相同依赖项的版本。我尝试使用
<project>
......
<dependencyManagement>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>ch.quos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
........
</dependencies>
......
<project>
注意-在
【问题讨论】:
请提供 Spring Boot 版本 @Farhad: Spring Boot 1.5.22.RELEASE with jackson BOM 2.9.10.20191020 & Commons Beanutils 1.9.4 最重要的是使用最新版本的 Spring Boot... 2.4.2(Spring Boot 1.X 是 EoL)... 【参考方案1】:您提到的库(Logback-classic)报告了许多兼容性问题
如您所见 Here 在其存储库的相关问题中
我建议您尝试不同版本的 Spring(较新的)并检查结果 在 Github 问题中搜索您可能会发现的版本和更新
【讨论】:
以上是关于如何修复我在项目中使用的另一个库使用的易受攻击的依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
Drupal 站点存在 Symfony 缺陷易受攻击 建议立即修复