log4j2高危漏洞,排除log4j2依赖。
原创
©著作权归作者所有:来自51CTO博客作者抹香鲸之海的原创作品,请联系作者获取转载授权,否则将追究法律责任
Log4j2是一款优秀的java日志框架,被大量用于业务开发,可能项目本身没有直接使用,但是引用的依赖包中仍然可能用到。只要用户输入的数据会被日志记录,就可被成功攻击。
影响范围Apache Log4j 2.x <= 2.15.1-rc1。
只影响到log4j2,并不影响log4j,如果你是log4j则不用担心。
Log4j和Log4j2的区别:
log4j只需要引入一个jar包即可,
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
而log4j 2则是需要2个核心:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
我查看了一下我们的项目依赖图:
下面是如何用IDEA查看类之间的继承关系
选中你要查看的某个类或者接口,右键出现如下选项,按图操作:
这个是第三方依赖内部引入了 log4j2 的两个核心包2.11.1的版本,看来我这里也有漏洞。
如果是加急处理 先找到父级依赖,先把这两个包排除掉就行了。
找到要排除Jar的和,使用exclusion排除。
<!-- spring security 安全认证 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
</exclusion>
</exclusions>
</dependency>