一、漏洞描述及风险:
漏洞等级:高危 CVSS评分:10(最高级)
- Apache Log4j2 存在一处远程代码执行漏洞,该漏洞影响范围极广,漏洞危害极大。
- Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。
- 引入 Apache Log4j2 处理日志时,会对用户打印的内容进行一些特殊的处理,攻击者可以构造特殊的请求,触发远程代码执行。也就是说攻击者可利用该漏洞在未授权的情况下,构造恶意数据进行远程代码执行攻击,最终 >>获取服务器最高权限<<。
二、影响版本
影响版本:Apache Log4j 2.x <= 2.14.1
已知受影响的应用及组件:
Spring-Boot-strater-log4j2、Apache Struts2、Apache Solr、Apache Flink、Apache Druid、Elasticsearch、Flume、Dubbo、Redis、Logstash、Kafka等
三、检测方法
1、查看系统pom文件中的log4j框架版本号(version)是否在影响范围内。
2、由于攻击者在攻击过程中可能使用 DNSLog 进行漏洞探测,建议企业可以通过流量监测设备监控是
否有相关 DNSLog 域名的请求,可以搜索市场相关企业DNS服务产品对 DNSLog进行拦截。
3、建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
四、修复方案
- 升级安全版本:log4j-2.15.0-rc2
官方发布2.15.0-rc1后,12 月 10 日上午,阿里云安全团队再次发出预警,发现 Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,由于Apache maven仓库没有log4j-2.15.0-rc2版本,rc2版本建议参考Github连接:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2 - 临时措施方案:2.1. 设置jvm参数 -Dlog4j2.formatMsgNoLookups=true。2.2. 设置log4j2.formatMsgNoLookups=True。2.3. 设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 为 true。2.4. 采用 rasp 对lookup的调用进行阻断。2.5. 采用waf对请求流量中的${jndi进行拦截。2.6. 禁止不必要的业务访问外网。
更多java技术、java面试、互联网技术、娱乐技术请关注下面公众号: