IntelliJ IDEA [警告] pom的依赖中出现警告Provides transitive vulnerable dependency

文章目录

    • 1. 现象
    • 2. 为什么出现警告
    • 3. 如何对待呢
    • 4. 解决
    • 5. 解决的好处
    • 总结

1. 现象

在我们的工程 pom.xml 中的依赖中,所依赖的 spring-boot-starter-web 出现了警告。

依赖内容

		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

警告

在这里插入图片描述

2. 为什么出现警告

那么我们就需要来分析一下,警告的详细信息中到底它说了些什么?

警告详细信息

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-classic:1.4.11
CVE-2023-6378 7.5 Deserialization of Untrusted Data vulnerability with High severity found
Results powered by Checkmarx(c)

这段警告信息中提到了一个潜在的安全漏洞,涉及到 Maven 项目中的 ch.qos.logback:logback-classic 库的版本1.4.11。具体来说,该漏洞被标记为 CVE-2023-6378,属于反序列化未受信任数据的漏洞,严重程度为高(High severity,评级为7.5)。

这种类型的漏洞通常指的是应用程序在处理来自外部不受信任源的数据时存在问题,攻击者可能通过构造特殊的输入来触发反序列化操作,从而导致安全风险。在这种情况下,可能存在潜在的远程代码执行或其他恶意操作的风险。

3. 如何对待呢

此时你可能需要考虑升级到一个修复了这个漏洞的版本,或者采取其他适当的措施以缓解潜在的风险。检查Maven仓库或logback项目的官方文档以获取更多详细信息和修复建议。

4. 解决

检查是否有该库的新版本已经发布,其中修复了 CVE-2023-6378。在你的 Maven 项目中,可以通过更新 pom.xml 文件中相关依赖项的版本来实现。

我们去查一下最新版本

※ 如果不知道如何查询 Maven 依赖的最新版本,可以参考

在这里插入图片描述

我们本地是 1.4.11 它是在 1.4.12 版本中做了修复。现在最新版本已经是 1.4.14 ,我们知道版本号中的最后一位通常都是去修复 BUG 的,因此我们直接升级即可。

修改本地 pom.xml , 将从网站中拷贝出来的这段依赖添加或者修改我们的 pom.xml 文件。

		<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.14</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.4.14</version></dependency>

警告就消除了

在这里插入图片描述

5. 解决的好处

解决项目中的警告或安全漏洞是为了确保项目的稳定性、安全性和可维护性

  • 安全性

    安全漏洞可能被恶意用户或攻击者利用,导致潜在的安全风险。解决安全漏洞可以防止不法分子利用这些漏洞对你的应用程序进行攻击,例如远程执行代码、拒绝服务攻击等

  • 稳定性

    更新依赖项可以解决已知的错误或不稳定的行为,从而提高项目的稳定性。新版本通常包含改进和修复,使得应用程序更加可靠

  • 性能

    一些库版本可能包含性能改进,升级到这些版本可能会提高应用程序的性能。此外,解决依赖冲突和使用最新的库版本也有助于减少潜在的性能问题

  • 兼容性

    保持依赖项和第三方库的最新版本有助于确保项目与其他库和框架的兼容性。这对于将来升级或集成新功能时是至关重要的

  • 维护性

    使用最新的库版本和解决警告可以使代码更加清晰、易读,并且有助于降低维护成本。过时的库版本和存在问题的代码可能会导致困扰,增加维护的难度

  • 合规性

    某些行业和法规标准要求保持应用程序的安全性,并定期修复已知的安全漏洞。解决这些问题有助于确保项目符合相关的合规性标准

总结

总体而言,解决项目中的警告和安全漏洞是一项重要的实践,有助于提高软件的质量、安全性和可维护性。在开发过程中定期审查和更新依赖项是一个良好的实践,以确保项目能够从最新的改进和修复中受益。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/311034.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL高级SQL语句补充

目录 1.空值&#xff08;NULL&#xff09;和 无值&#xff08; &#xff09;的区别 2.正则表达式 3.存储过程 存储过程的优点 创建存储过程 调用存储过程 查看存储过程 存储过程的参数 IN 输入参数 OUT 输出参数 INOUT 输入输出参数 删除存储过程 存储过程的控制语…

最大花费金额 - 华为OD统一考试

OD统一考试 题解&#xff1a; Java / Python / C 题目描述 双十一众多商品进行打折销售&#xff0c;小明想购买自己心仪的一些物品&#xff0c;但由于受购买资金限制&#xff0c;所以他决定从众多心仪商品中购买三件&#xff0c;而且想尽可能的花完资金现在请你设计一个程序帮…

(2023,提示扩展,图像反演,文本到文本生成)自适应文本到图像生成的提示扩展

Prompt Expansion for Adaptive Text-to-Image Generation 公众&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要 3. 提示扩展数据集 3.1 图像审美数据集 3.2 图像到文本反演 3.3 查…

【数据结构与算法】字符串匹配(头歌习题)【合集】

目录 第1关&#xff1a;实现朴素的字符串匹配任务描述相关知识编程要求评测说明完整代码 第2关&#xff1a;实现KMP字符串匹配任务描述相关知识编程要求评测说明完整代码 第3关&#xff1a;【模板】KMP算法任务描述相关知识C STL容器string1、string的定义2、string中内容的访问…

使用YOLOv8和Grad-CAM技术生成图像热图

目录 yolov8导航 YOLOv8&#xff08;附带各种任务详细说明链接&#xff09; 概述 环境准备 代码解读 导入库 定义letterbox函数 调整尺寸和比例 计算填充 应用填充 yolov8_heatmap类定义和初始化 后处理函数 绘制检测结果 类的调用函数 热图生成细节 参数解释 we…

C++初阶——基础知识(函数重载与引用)

目录 1.命名冲突 2.命名空间 3.缺省参数 4.函数重载 1.函数重载的特点包括&#xff1a; 2.函数重载的好处包括&#xff1a; 3.引用 引用的特点包括 引用的主要用途包括 引用和指针 引用 指针 类域 命名空间域 局部域 全局域 第一个关键字 命名冲突 同一个项目之间冲…

sklearn 中matplotlib编制图表

代码 # 导入pandas库&#xff0c;并为其设置别名pd import pandas as pd import matplotlib.pyplot as plt# 使用pandas的read_csv函数读取名为iris.csv的文件&#xff0c;将数据存储在iris_data变量中 iris_data pd.read_csv(data/iris.txt,sep\t)# 使用groupby方法按照&quo…

期权二叉树估值与图计算

传统期权二叉树的算法都是基于数组的&#xff0c;对于没有编程基础的人来说非常不直观。二叉树是一种特殊的图&#xff0c;可以用python networkx这个图算法库实现&#xff0c;这个库不仅包含常用的图算法&#xff0c;还包含简单的绘图功能&#xff0c;非常适合研究分析使用。 …

【ARMv8M Cortex-M33 系列 2.1 -- Cortex-M33 使用 .hex /.srec 文件介绍】

请阅读【嵌入式开发学习必备专栏 之Cortex-M33 专栏】 文章目录 HEX 文件介绍英特尔十六进制文件格式记录类型hex 示例Cortex-M 系列hex 文件的使用 hex 文件和srec 文件生成Motorola S-Record (srec) 格式 HEX 文件介绍 .hex 文件通常用于微控制器编程&#xff0c;包括 ARM C…

TypeError: control character ‘delimiter‘ cannot be a newline (`\r` or `\n`)

报错 找到错误代码 这个错误是因为在使用 numpy.loadtxt() 函数时尝试将换行符&#xff08;\n&#xff09;作为分隔符&#xff08;delimiter&#xff09;。然而&#xff0c;换行符是用于标识文本文件中每一行的结束&#xff0c;而不是用于分隔数据字段。 解决 如果你的数据文…

c++ OpenCV4图像处理与视频分析实战教程 -> 自建代码库

OpenCV4图像处理与视频分析实战教程&#xff0c;系列视频自建代码库。C版本。 视频可B站搜索。 简介&#xff1a; 网上流传的“OpenCV4图像处理与视频分析实战”课程附带资料需要解压密码&#xff0c;无法使用&#xff0c;且原视频购买很贵&#xff08;51CTO售价119&#xff0…

在Mac上恢复SD卡数据的 6 个有效应用程序

慌&#xff01;SD卡里的照片和视频不小心删了&#xff0c;Mac设备上还恢复不了数据&#xff01; 遇到这种情况&#xff0c;你需要的是一款可靠的Mac适用的SD卡恢复软件。我们为你准备了一份最佳的SD卡恢复软件列表&#xff0c;并且还有详细的评论。另外&#xff0c;我们还会给…