北京时间18日清晨,Apache Log4j 被曝出存在一个反序列化漏洞(CVE-2017-5645)。攻击者可以通过发送一个特别制作的2进制payload,在组件将字节反序列化为对象时,触发并执行构造的payload代码,存在数据泄露的风险。
具体详情如下:
漏洞编号:
CVE-2017-5645
漏洞名称:
Apache Log4j反序列化漏洞
漏洞描述:
攻击者可以通过发送一个特别制作的2进制payload,在组件将字节反序列化为对象时,触发并执行构造的payload代码。该漏洞主要是由于在处理ObjectInputStream时,接收函数对于不可靠来源的input没有过滤。可以通过给TcpSocketServer和UdpSocketServer添加可配置的过滤功能以及一些相关设置,可以有效的解决该漏洞。
漏洞利用条件和方式:
远程利用
漏洞影响范围:
受影响版本:所有Apache Log4j 2.*系列版本: Apache Log4j 2.0-alpha1 – Apache Log4j 2.8.1
不受影响版本:Apache Log4j 2.8.2
漏洞检测:
检查Apache Log4j
是否在受影响版本内
漏洞修复建议(或缓解措施):
- 使用Java 7+的用户应立即升级至2.8.2版本或者避免使用socket server的相关类,参考链接 ;
- 使用Java 6的用户应该避免使用TCP或者UDP 的socket server相关类,用户也可以手动添加2.8.2版本更新的相关代码来解决该漏洞;
- 目前官方发布了2.9最新版本 ,强烈建议更新到最新版本。
情报来源:
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=%09CVE-2017-5645
- https://issues.apache.org/jira/browse/LOG4J2-1863
- http://seclists.org/oss-sec/2017/q2/78