Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33

一、错误介绍

新创建了一个springboot3的项目,弹出警告。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.0.1</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33

这段报错的意思是:snakeyaml是一个脆弱的传递依赖。

SpringBoot2.x 用的是 1.30 版本,SpringBoot3.x 用的是 1.33 版本,尽管已经升级了版本,但是 1.33 版本仍然存在漏洞。
介绍
截止到 2022-12-13 日,snakeyaml 仍未修复该漏洞。

二、解决方法

解决方法也很简单,既然该依赖项不安全存在漏洞,那我们就不用它,排除它。只需要排除该依赖项即可,如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
        </exclusion>
    </exclusions>
</dependency>