我的项目对log4j v1.2.16有一个可传递的依赖关系,通过org.mobicents.servlet.sip包在我的项目中作为直接依赖关系使用。
但是org.mobicents.servlet.sip不再被积极开发。
除了等待org.mobicents.servlet.sip修复此问题之外,是否还有其他方法可以修复此漏洞?
我的项目对log4j v1.2.16有一个可传递的依赖关系,通过org.mobicents.servlet.sip包在我的项目中作为直接依赖关系使用。
但是org.mobicents.servlet.sip不再被积极开发。
除了等待org.mobicents.servlet.sip修复此问题之外,是否还有其他方法可以修复此漏洞?
3条答案
按热度按时间p4tfgftt1#
您可能需要使用log4j-1.2-api bridge。
1.排除对log4j 1.x的依赖性(注意不同的groupid,它在1.x和2.x之间发生了变化)
1.使用桥接器添加对log4j 2.17.1的依赖性
zmeyuzjn2#
如果您使用Maven作为构建工具,那么您可以采用以下方法:
1.排除传递依赖关系,并
1.使其成为指定最新版本的直接依赖项。
您还可以参考maven文档以获得详细说明。
eivnm1vs3#
最终的解决方案是分解log4j-1.2.17.jar,删除受影响的类
SocketServer.class
和JMSAppender.class
,创建一个自定义jar并使用它。用于分解和创建新jar的命令取自堆栈溢出回答
参考:https://stackoverflow.com/a/16806235/8864570