0%

CVE-2019-17571

CVE-2019-17571/Apache Log4j 反序列化远程代码执行漏洞

用的是 Apache Log4j 1.2.17 版本,sinkorg.apache.log4j.net.SocketNode 类中:

image

在构造函数中,传入 socket 传输的数据流,然后在 run 方法中直接调用 readObject() 反序列化。

查找在哪些类中会调用 SocketNode 类,发现 SocketServerSimpleSocketServer 类中都有调用:
image

image

并且由于 SocketNode 是实现 Runnable 接口。所以通过 new Thread().start() 方法能执行其 run 方法造成反序列化代码执行漏洞。

复现漏洞可以通过调用 SocketServerSimpleSocketServer 类,或者自己实现都可以。

当然,任意代码执行的话还需要调用其他可以的 gadget .比如 Jdk7u21CommonsCollections1 之类的。

image