Apache Log4j 2.17.0 发布,解决第三个 DoS 漏洞

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Apache Log4j 2.17.0 版本已正式发布,解决了被发现的第三个安全漏洞 CVE-2021-45105。 Apache Log4j2 版本 2.0-alpha1 到 2.16.0 没有防止 self-referential 查找的不受控制的递归。当日志配置使用非默认的 Patt...

Apache Log4j 2.17.0 版本已正式发布,解决了被发现的第三个安全漏洞 CVE-2021-45105。

Apache Log4j2 版本 2.0-alpha1 到 2.16.0 没有防止 self-referential 查找的不受控制的递归。当日志配置使用非默认的 Pattern Layout 与 Context Lookup(例如,$${ctx:loginId})时,控制线程上下文映射 (MDC) 输入数据的攻击者可以制作包含递归查找的恶意输入数据,导致 StackOverflowError,从而终止进程。这也称为 DoS 攻击。

从 2.17.0 版本开始(针对 Java 8),只有配置中的查找字符串才会被递归扩展;在任何其他用法中,仅解析顶层查找,不解析任何嵌套查找。

在以前的版本中,可以通过确保你的日志记录配置执行以下操作来缓解此问题:

  • 在日志记录配置的 PatternLayout 中,用 Thread Context Map 模式(%X、%mdc 或 %MDC)替换 ${ctx:loginId} 或 $${ctx:loginId} 等 Context Lookups。
  • 否则,在配置中删除对 ${ctx:loginId} 或 ${ctx:loginId} 等 Context Lookups 的引用;它们源自应用程序外部的源,如 HTTP headers 或 user input.。

2.17.0 版本的具体更新内容包括有:

  • 修复字符串替换递归。修复 LOG4J2-3230
  • 将 JNDI 仅限于 java 协议。默认情况下,JNDI 将保持禁用状态。将 JNDI 启用属性从“log4j2.enableJndi”重命名为“log4j2.enableJndiLookup”、“log4j2.enableJndiJms”和“log4j2.enableJndiContextSelector”。修复 LOG4J2-3242
  • JNDI 仅限于 java 协议。默认情况下,JNDI 将保持禁用状态。启用属性已重命名为“log4j2.enableJndiJava”。修复 LOG4J2-3242
  • 不要将 log4j-api-java9 和 log4j-core-java9 声明为依赖项,因为这会导致 Maven enforcer 插件出现问题。修复 LOG4J2-3241
  • 解析属性文件过滤器时的 PropertiesConfiguration.parseAppenderFilters NPE。修复 LOG4J2-3247
  • Syslog Appender 的 Log4j 1.2 bridge 默认为端口 512 而不是 514。修复 LOG4J2-3249
  • Log4j 1.2 bridge API 将 Syslog 协议硬编码为 TCP。修复 LOG4J2-3237

下载地址:https://logging.apache.org/log4j/2.x/download.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

离心力:互联网历史与数字化未来

离心力:互联网历史与数字化未来

[英] 乔尼·赖安(Johnny Ryan) / 段铁铮 / 译言·东西文库/电子工业出版社 / 2018-2-1 / 68.00元

★一部详实、严谨的互联网史著作; ★哈佛、斯坦福等高校学生必读书目; ★《互联网的未来》作者乔纳森·L. 齐特雷恩,《独立报》《爱尔兰时报》等知名作者和国外媒体联合推荐。 【内容简介】 虽然互联网从诞生至今,不过是五六十年,但我们已然有必要整理其丰富的历史。未来的数字世界不仅取决于我 们的设想,也取决于它的发展历程,以及互联网伟大先驱们的理想和信念。 本书作者乔尼· ......一起来看看 《离心力:互联网历史与数字化未来》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具