鉴于Log4J 2.x存在一个严重的远程代码执行漏洞(检查vulnerability),我开始查看我的项目依赖关系,看看我是否通过slf4j等使用Log4J,幸运的是我没有。
但是我发现了另一个通过spring-boot-starter-data-mongodb
对Log4J的依赖。上一个版本的包是在Nov. 2021上生成的,所以这个问题在那里没有得到缓解。
我如何才能摆脱依赖关系而不摆脱spring-boot-starter-data-mongodb
,因为我严重依赖它。
➜ mvn dependency:tree | grep -B 5 log4j
[INFO] +- org.springframework.boot:spring-boot-starter-data-mongodb:jar:2.2.5.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.5.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.5.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.12.1:compile
[INFO] | | | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
1条答案
按热度按时间pftdvrlh1#
根据the Spring blog,您不需要:
我们在
spring-boot-starter-logging
中包含的log4j-to-slf4j
和log4j-api
jar不能单独被利用。只有使用log4j-core
并在日志消息中包含用户输入的应用程序易受攻击。