Apache Log4j 被曝第 3 个漏洞:不受控递归 | Apache 官方已发布 2.17 版本修复

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Apache Log4j 被曝第 3 个漏洞:不受控递归 | Apache 官方已发布 2.17 版本修复

自 12 月 10 日起,Apache Log4j2 已接连曝出多个漏洞,并在全球范围内造成了影响。刚刚过去的 12 月 18 日,Apache Log4j 又被曝出第三个漏洞: CVE-2021-45105 —— Apache Log4j 2.0-alpha1 到 2.16.0 的版本无法防止自引用查找的不受控递归(Apache 官方已发布 2.17.0 版本修复)。

image.png

(相关阅读:

漏洞详情

漏洞描述:

Apache 官方表示,对于 Apache Log4j 2.17.0 之前的版本而言,当日志记录配置使用具有上下文查找的非默认模式布局时(PatternLayout 与 Context Lookup:例如,$${ctx:loginId})就很容易受到漏洞的影响。成功利用此漏洞后,具有线程上下文映射(MDC)输入数据控制权的攻击者就可能会伪造包含递归查找的恶意输入数据,导致 StackOverflower 错误,从而终止进程,也被称为DOS(拒绝服务)攻击。

据悉,最新漏洞是由 Akamai Technologies 的 Hideki Okamoto 和一名匿名漏洞研究人员发现的。Apache 注意到,只有 Log4j 核心 JAR 文件受到 此次CVE-2021-45105 漏洞的影响。

漏洞影响:

攻击者成功利用此漏洞或导致拒绝服务(DoS)。

漏洞评分详细信息:

CVE:CVE-2021-45105

评分:7.5(高)

向量:CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Apache 官方已发布 2.17 版本修复

好在,12 月 19 日,该漏洞 CVE-2021-45105 Apache Log4j 已在官方最新发布的 Log4j 2.17.0 (Java 8)版本中得到了修复。

缓解措施包括:应用 2.17.0 版本修补程序,并在日志配置的PatternLayout 中使用线程上下文映射模式(%X,%mdc或%mdc)替换上下文查找如 ${ctx:loginId} 或 $$${ctx:loginId}。Apache 还建议删除对${ctx:loginId} 或 $${ctx:loginId} 等配置中的上下文查找的引用,这些引用来自应用程序外部的源,如 HTTP 头部或用户输入。

image.png

Apache 官方 2.17.0 版本链接:

https://logging.apache.org/lo...

也就是说,从 2.17.0 版本(对于 Java 8)开始,仅配置中的查找字符串被递归扩展;在任何其他用法中,仅解析顶级查找,不解析任何嵌套查找。

自 12 月 10 日凌晨 Apache Log4j2 首个“高危”远程代码执行漏洞被发现以来,官方已经紧急发布了 Apache Log4j 2.15.0 正式版,解决了该漏洞。

但随后的几天,又被发现在 Apache Log4j 2.15.0 版本上存在敏感数据泄露的漏洞,可用于从受影响的服务器下载数据,随后官方并建议用户尽快升级到 2.16.0。

此次,又发现了 Apache Log4j 2.0-alpha1 到 2.16.0 版本不受控制的递归漏洞,已是 Apache Log4j 被曝出的第三个漏洞了。

关于 Apache Log4j2

Apache Log4j2 最初是由 Ceki Gülcü 编写,是 Apache 软件基金会 Apache 日志服务项目的一部分。Log4j 是几种 Java 日志框架之一。而 Apache Log4j2 是对 Log4j 的升级,相比其前身 Log4j1 有了更显著的改进,同时修复了 Logback 架构中的一些固有问题。

image.png

通过 Apache Log4j2 框架,开发者可通过定义每一条日志信息的级别,来控制日志生成过程。

目前该日志框架已被广泛用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
2月前
|
SQL 存储 JSON
Apache Doris 2.1.10 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.10 版本已正式发布。2.1.10 版本对湖仓一体、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。
148 5
|
6月前
|
存储 SQL Java
Apache Doris 2.1.9 版本正式发布
Apache Doris 2.1.9 版本正式发布,欢迎使用~
204 4
|
11月前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
588 112
|
9月前
|
SQL 存储 分布式计算
Apache Doris 2.1.8 版本正式发布
该版本持续在湖仓一体、异步物化视图、查询优化器与执行引擎、存储管理等方面进行改进提升与问题修复,进一步加强系统的性能和稳定性,欢迎大家下载体验。
253 13
|
10月前
|
SQL 存储 Apache
Apache Doris 3.0.3 版本正式发布
亲爱的社区小伙伴们,Apache Doris 3.0.3 版本已于 2024 年 12 月 02 日正式发布。该版本进一步提升了系统的性能及稳定性,欢迎大家下载体验。
383 16
|
11月前
|
SQL 存储 Java
Apache Doris 2.1.7 版本正式发布
亲爱的社区小伙伴们,**Apache Doris 2.1.7 版本已于 2024 年 11 月 10 日正式发布。**2.1.7 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。
247 3
|
11月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
2990 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
12月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
1084 3
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。

推荐镜像

更多