如何修复我在项目中使用的另一个库使用的易受攻击的依赖项?

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>

注意-在 中,最初我也尝试不使用 标记,但无论如何我只能排除易受攻击的 logback-classic 依赖项,但我无法在 spring 内将其更新为 1.2.3 -boot-starter-web 存在于那个特定的子 pom 中。

【问题讨论】:

请提供 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 问题中搜索您可能会发现的版本和更新

【讨论】:

以上是关于如何修复我在项目中使用的另一个库使用的易受攻击的依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

Fox--一种主动和被动的易受攻击的测试工具

Drupal 站点存在 Symfony 缺陷易受攻击 建议立即修复

Sql 易受攻击的脚本需要修复

PHP安全之webshell和后门检测

如何识别和修复 AIX 服务器上 TLS ROBOT 的漏洞

如何使我的登录页面易受 SQL 注入攻击?