tho*_*ger 3 security log4j log4j2 spring-boot log4shell
log4j2 <= 2.14.1 发现严重安全漏洞(请参阅https://nvd.nist.gov/vuln/detail/CVE-2021-44228)。如何更新 Spring Boot 应用程序的 pom.xml 以确保 log4j2 的所有(递归)使用都使用版本 2.15.0?
Spring Boot 2.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 说:
如果您将 log4j-over-slf4j.jar 与 SLF4J API 结合使用,那么除非底层实现是 log4j 2.x ,否则您是安全的。
为了确定,
在Maven中检查以下输出:
mvn dependency:tree -Dincludes='*log4j*'
Run Code Online (Sandbox Code Playgroud)
在gradle中:
gradle -q dependencyInsight --dependency log4j
Run Code Online (Sandbox Code Playgroud)
spring-boot-starter-log4j2船上有我们肯定受到影响(spring-boot > 1)!
要(通过)更新修复,最简单的可能是:
行家:
<properties>
...
<log4j2.version>2.17.1</log4j2.version><!-- as of 2021/12/28 -->
</properties>
Run Code Online (Sandbox Code Playgroud)
..在 pom 中。
等级:
ext['log4j2.version'] = '2.17.1'
Run Code Online (Sandbox Code Playgroud)
.. 在 build.gradle 中,或者:
log4j2.version=2.17.1
Run Code Online (Sandbox Code Playgroud)
.. 在 gradle.properties 中。
...构建、测试、发布、部署。