首页 > Apache学习 > Apache Log4j 2.17.0已发布!看看解决了什么问题?

Apache Log4j 2.17.0已发布!看看解决了什么问题?

分类: Apache学习 发布时间: 2025-03-16 09:30:31

此次Apache Log4j 2.17.0版本发布,主要解决了被发现的第三个安全漏洞CVE-2021-45105。这是一个严重的安全问题,涉及self-referential查找的不受控制的递归。在Log4j 2.0-alpha1到2.16.0的版本中,当日志配置使用非默认的Pattern Layo...

近日,备受瞩目的Apache Log4j迎来了2.17.0版本的发布。这一新版本的问世,不仅标志着Log4j在功能上的进一步完善,更重要的是,它解决了此前版本中存在的一系列安全问题,为开发者们提供了更加安全、稳定的日志记录工具。

此次Apache Log4j 2.17.0版本发布,主要解决了被发现的第三个安全漏洞CVE-2021-45105。这是一个严重的安全问题,涉及self-referential查找的不受控制的递归。在Log4j 2.0-alpha1到2.16.0的版本中,当日志配置使用非默认的Pattern Layout与Context Lookup(例如,$${ctx:loginId})时,攻击者可以通过控制线程上下文映射(MDC)输入数据,制作包含递归查找的恶意输入数据,导致StackOverflowError,从而终止进程。这种攻击方式也被称为DoS攻击。

从2.17.0版本开始,Apache Log4j对这一问题进行了针对性的修复。在新版本中,只有配置中的查找字符串才会被递归扩展;在任何其他用法中,仅解析顶层查找,不解析任何嵌套查找。这一改变有效防止了攻击者通过构造恶意输入数据来触发DoS攻击。

此外,新版本还对JNDI的使用进行了限制,默认情况下,JNDI将保持禁用状态。同时,JNDI启用属性也进行了重命名,从“log4j2.enableJndi”更改为“log4j2.enableJndiLookup”、“log4j2.enableJndiJms”和“log4j2.enableJndiContextSelector”,并且仅限于java协议。这些改变进一步增强了Log4j的安全性,降低了被攻击的风险。

Apache Log4j 2.17.0已发布!看看解决了什么问题?

总的来说,Apache Log4j 2.17.0版本的发布,标志着Log4j在安全性方面取得了重要进展。开发者们可以放心地使用新版本进行日志记录,而无需担心潜在的安全风险。

服务器学习动态