众所周知,log4j漏洞已经出现。我们如何在自己的项目中弥补这一差距?我们是否有机会在gradle上推出一个版本?
sg2wtvxw1#
我自己的解决方案
constraints{ implementation("org.apache.logging.log4j:log4j-core"){ version{ strictly("[2.15,3[") prefer("2.15.0") } because("CVE-2021-44228 : Log4j is vulnerable to remote code execution") } }
zqdjd7g92#
这是我们在spring-boot项目中使用的解决方案,在该项目中,我们使用enforcedPlatform方法管理依赖关系:
enforcedPlatform
dependencies { api(enforcedPlatform("org.springframework.boot:spring-boot-dependencies:${springBootVersion}")) { exclude(group: "org.apache.logging.log4j") } api(platform("org.apache.logging.log4j:log4j-bom:2.15.0")) { because "https://nvd.nist.gov/vuln/detail/CVE-2021-44228" } }
这是设计到位,直到这样的时间,我们在一个位置,以升级到一个版本的Sping Boot 拉在修复版本本身。
ecbunoof3#
截至2021-12-16本帖中的其他答案已过期。请勿直接使用其他答案。
2.15
请记住,始终从下列资源中查找最新信息
CVE-2021-45105... 2.16.0和2.12.2不再是有效的修正!当前的修正版本是2.17.0(Java 8)和2.12.3(Java 7)。所有其他Java版本必须采取权宜之计(从log4j-core JAR中删除JndiLookup.class文件)。
我已经相应地更新了我下面的消息。
虽然大多数需要知道的人可能已经知道足够做他们需要做的事情,但我想我还是会把这个以防万一...
基本上
zip
zip -q -d "$LOG4J_JAR_PATH" org/apache/logging/log4j/core/lookup/JndiLookup.class
.zip
\\path\\to\\unzippedFolder\\org\\apache\\logging\\log4j\\core\\lookup\\JndiLookup.class
.jar
如果您只有1或2个JAR文件需要处理,并且您不介意安装7-zip或您有PowerShell来完成此操作,这是没问题的。但是,如果您有很多JAR文件,或者如果您不想安装7-zip,并且无法访问Power Shell,我创建了一个开源VBS脚本,它将为您完成此操作,而无需安装任何其他软件。https://github.com/CrazyKidJack/Windowslog4jClassRemover阅读README和发行说明https://github.com/CrazyKidJack/Windowslog4jClassRemover/releases/latest
3条答案
按热度按时间sg2wtvxw1#
我自己的解决方案
zqdjd7g92#
这是我们在spring-boot项目中使用的解决方案,在该项目中,我们使用
enforcedPlatform
方法管理依赖关系:这是设计到位,直到这样的时间,我们在一个位置,以升级到一个版本的Sping Boot 拉在修复版本本身。
ecbunoof3#
警告:
截至2021-12-16本帖中的其他答案已过期。请勿直接使用其他答案。
2.15
更新时间:2021年12月18日......
请记住,始终从下列资源中查找最新信息
CVE-2021-45105... 2.16.0和2.12.2不再是有效的修正!当前的修正版本是2.17.0(Java 8)和2.12.3(Java 7)。所有其他Java版本必须采取权宜之计(从log4j-core JAR中删除JndiLookup.class文件)。
我已经相应地更新了我下面的消息。
修正:
虽然大多数需要知道的人可能已经知道足够做他们需要做的事情,但我想我还是会把这个以防万一...
截至2021年12月18日
基本上
zip
命令的一行程序,默认情况下,该命令与大多数Linux发行版打包在一起。zip -q -d "$LOG4J_JAR_PATH" org/apache/logging/log4j/core/lookup/JndiLookup.class
.zip
.zip
)\\path\\to\\unzippedFolder\\org\\apache\\logging\\log4j\\core\\lookup\\JndiLookup.class
.jar
如果您只有1或2个JAR文件需要处理,并且您不介意安装7-zip或您有PowerShell来完成此操作,这是没问题的。但是,如果您有很多JAR文件,或者如果您不想安装7-zip,并且无法访问Power Shell,我创建了一个开源VBS脚本,它将为您完成此操作,而无需安装任何其他软件。https://github.com/CrazyKidJack/Windowslog4jClassRemover
阅读README和发行说明https://github.com/CrazyKidJack/Windowslog4jClassRemover/releases/latest