【问题标题】:com.microsoft.azure:applicationinsights-logging-log4j1_2 -- Depends on Vulnerable log4j:log4j:jar:1.2.17 versioncom.microsoft.azure:applicationinsights-logging-log4j1_2 -- 取决于易受攻击的 log4j:log4j:jar:1.2.17 版本
【发布时间】:2021-12-13 05:15:06
【问题描述】:

上下文: 我们使用 com.microsoft.azure:applicationinsights-logging-log4j1_2 的 2.6.3 版本来检测我们的 Scala 代码。不幸的是,这取决于 log4j:log4j 的 1.2.17 版本。 log4j 1.2.17 版本:log4j 存在严重安全漏洞(参考:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17571) 问题是:“Log4j 1.2 中包含一个 SocketServer 类,在监听不受信任的网络流量以获取日志时,当与反序列化小工具结合使用时,该类容易受到不受信任的数据反序列化的攻击,从而可以远程执行任意代码数据。这会影响从 1.2 到 1.2.17 的 Log4j 版本

解决办法是迁移到org.apache.logging.log4j:log4j-core 题: 1.) Application insight jar 是否使用 SocketServer 类? 2.) 这是一个已知的漏洞吗? 3.) 我们有哪些选择来获得使用最新版本 org.apache.logging.log4j:log4j-core 的新版本 com.microsoft.azure:applicationinsights-logging-log4j1_2

非常感谢任何帮助。

【问题讨论】:

    标签: log4j azure-application-insights telemetry ilogger


    【解决方案1】:

    SocketServer 类是一个 TCP 服务器,您可以在单独的 JVM 中运行它,以便在您的应用程序中接收来自 SocketAppender 的消息。 Log4j 库中的任何其他类不使用

    另一方面,applicationinsights-logging-log4j1_2 是一个非常小的 JAR(2 个类),它提供了一个 ApplicationInsightsAppender 以允许 Log4j 1.2 将日志发送到 Application Insights。

    您可以安全使用此附加程序和所有标准附加程序(包括 SocketAppender),而不会出现 CVE-2019-17571 中描述的问题。

    迁移到 Log4j 2.x

    显然建议迁移到 Log4j 2.x,但出于完全不同的原因:它受到支持并提供了许多新功能。

    工件applicationinsights-logging-log4j2 包含ApplicationInsightsAppender 的一个版本,可与Log4j 2.x 一起使用。

    【讨论】:

    • 有趣的是,CVE-2019-17571 (Log4j 1.2) 的 NIST 得分为 9.8,而最近在 Log4j 2.x 上的 CVE-2021-44228 得分为 10(不确定 CVE-2021-45046然而)。研究一下,与最近的 Log4j 漏洞相比,Log4j 1.2 漏洞看起来相当温和(假设未使用SockerServer)。
    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 2022-06-16
    • 2018-11-17
    • 2017-02-27
    • 2022-01-15
    • 1970-01-01
    • 2016-04-18
    • 2018-01-19
    相关资源
    最近更新 更多