JetBrains 官方博客宣布:IntelliJ 平台彻底停用 Log4j 组件

科技资讯 投稿 33800 0 评论

JetBrains 官方博客宣布:IntelliJ 平台彻底停用 Log4j 组件

JetBrains 近日在官方博客宣布,将从 IntelliJ 平台移除 Log4j 组件,一部分原因是之前的重大漏洞事件。

对于弃用的原因,Jetbrains 稍显无奈。其在公告中指出,早在几个月前 Log4j 2 漏洞被爆出的第一时间,其就在官方博客上发文澄清,基于 IntelliJ 平台的 IDE 不受 Log4j 2 漏洞的影响,因为它们采用的是 Log4j 1.2 的修复版本,其中还删除可能有问题的 org.apache.log4j.net 包。况且 Log4j 的 1.x 和 2.x 之间也存在很大的差异性,属于两个完全不同的代码库,拥有不兼容的 API。

据介绍,基于 IntelliJ 平台的 IDE 不受此漏洞的影响,因为使用了 Log4j 1.2 的修补版本,并删除了所有与网络相关的代码。尽管如此,一些自动化安全工具仍然将安全版本的 Log4j 标记为不安全。

同时,IntelliJ 平台对日志框架的要求相当低,可以包含在作为 JDK 一部分的标准日志 API(java.util.logging中。为了避免错误的安全警报并减少潜在的攻击面,JetBrains 决定完全停止使用 Log4j,并切换到 java.util.logging 作为标准日志框架。

更改将在 2022.1 版本中发布。由于大量第三方插件(直接或间接使用 Log4j,JetBrains 将发布 Log4j API 的存根实现,将日志输出重定向到 java.util.logging,这一功能来自 SLF4J 项目。但是,存根并没有完全实现所有方法,因此为了保持插件的全部功能,开发者可能需要调整代码以适应新环境。

众所周知,去年底 Log4j2 中被曝出了几个重大漏洞,随后 JetBrains 官方就宣布称他们使用的是经过修补的 Log4j 1.2 版本,因此基于 IntelliJ 平台的 IDE 不受此漏洞的影响,并删除了所有与网络相关的代码。

据悉,Log4j 库的版本 1 和 版本 2 是两个完全不同的代码库,由于两者具有不兼容的 API,因此从一个版本迁移到另一个版本实属不易。尽管如此,一些自动化的安全工具仍然将 JetBrains 使用“旧”版本的 Log4j 标记为安全问题。

编程笔记 » JetBrains 官方博客宣布:IntelliJ 平台彻底停用 Log4j 组件

赞同 (52) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽