概况
近日, Apache Log4j 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。经过快速分析和确认,该漏洞影响范围极其广泛,危害极其严重。Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。漏洞复现如图所示:
此次受影响版本如下:
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)由于攻击者在攻击过程中可能使用 DNSLog 进行漏洞探测,建议企业可以通过流量监测设备监控是否有相关 DNSLog 域名的请求
(2)建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
修复方案
(1) 修改jvm参数
-Dlog4j2.formatMsgNoLookups=true
(2) 修改配置
log4j2.formatMsgNoLookups=True
(3) 将系统环境变量
FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
官方补丁
官方修复链接如下:
疑似POC
- https://github.com/tangxiaofeng7/apache-log4j-poc
- https://github.com/nice0e3/log4j_POC
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容