发现log4j2〈= 2.14.1存在严重安全漏洞(请参阅https://nvd.nist.gov/vuln/detail/CVE-2021-44228)。如何更新Sping Boot 应用程序的pom.xml以确保log4j2的所有(递归)使用都使用版本2.15.0?
发现log4j2〈= 2.14.1存在严重安全漏洞(请参阅https://nvd.nist.gov/vuln/detail/CVE-2021-44228)。如何更新Sping Boot 应用程序的pom.xml以确保log4j2的所有(递归)使用都使用版本2.15.0?
5条答案
按热度按时间d7v8vwbk1#
更新:
Log4J 2.17.1包含CVE-2021-44832的修复程序
Sping Boot2.5.8和2.6.2已发布,并为logback 1.2.9和Log4J 2.17.0提供了依赖项管理。
操作:
spring-boot“默认情况下”不受CVE-2021-44228(log4shell)的影响。
虽然版本
[2 - 2.6.1]
(任何-starter
)依赖于log4j-api
和slf4j-to-log4j
,但Slf4j says:如果您将log4j-over-slf4j.jar与SLF 4J API结合使用,除非底层实现是log4j 2.x,否则您是安全的。
可以肯定的是,
板上有
spring-boot-starter-log4j2
我们 * 肯定会受到影响 *(Spring Boot〉1)!
要(通过)更新进行修复,最简单的方法可能是:
...在pom里。
..在建筑.Gradle中,或:
..在gradle.properties中。
...构建、测试、发布、部署。
链接:
zvokhttg2#
现在建议使用
<log4j2.version>2.16.0</log4j2.version>
oogrdqng3#
这也将规定spring-boot-starter-log4j 2的log4j 2组件版本。
按照Piotr P. Karwasz的建议,这是一个更好的设置选择。
更新:
顺便说一下,如果项目的log4j依赖项仅来自spring-boot-starter-log4j 2,它有一个确定的设置方式,请参阅spring blog
x4shl7ld4#
一般来说,对于maven项目,您可以使用deps mgmt强制使用log4j-core版本。
在此之后,确保此pom.xml和所有继承的pom.xml定义了log4j deps * 而没有tag*,以便它们都将从这种集中式更改中受益。
vmpqdwk35#
根据apache site,log4j的最低可接受级别现在是2.17.1-缓解措施是升级到Log4j 2.3.2(适用于Java 6)、2.12.4(适用于Java 7)或2.17.1(适用于Java 8及更高版本)。