上下文:我们使用2.6.3版本的com.microsoft.azure:applicationinsights-logging-log4j1_2来检测Scala代码。不幸的是,这依赖于1.2.17版本的log4j:log4j。1.2.17版本的log4j:log4j有一个严重的安全漏洞(参考:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17571)问题是:“Log4j 1.2中包含一个SocketServer类,该类易受反序列化不受信任数据的攻击,在侦听日志数据的不受信任网络通信时,如果与反序列化小工具结合使用,可利用该漏洞远程执行任意代码。这会影响Log4j 1.2及1.2.17版”
解决方案是迁移到org.apache.logging.log4j:log4j-core问题:1.)Application insight jar是否使用SocketServer类?2.)这是否为已知漏洞?3.)我们可以通过哪些方法来获取使用com.microsoft.azure最新版本org.apache.logging.log4j:log4j-core的新版本www.example.com:applicationinsights-logging-log4j1_2
请你帮忙真是感激不尽。
1条答案
按热度按时间von4xj4u1#
SocketServer
类是一个TCP服务器,您可以在单独的JVM中运行它,以便接收来自应用程序中SocketAppender
的消息。Log4j库中的任何其他类a a都不使用它。另一方面,
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一起使用。