说明
短短几天,Log4j2 一直处于安全领域的风口浪尖。
自从爆发出JNNI访问漏洞,造成远程代码执行攻击后。迅速火遍全球,各大厂商都在忙着更新自家的服务。
避免造成问题。而在Log4j2 更新了该安全漏洞:CVE-2021-44228和CVE-2021-45046后。
Log4j2的稳定版本就发布到了:2.16.0版。
大家以为整个过程已经结束了,之后就是该升级升级的情况下。
再次爆出了一个新的Dos(拒绝服务)攻击漏洞:CVE-2021-45105。
Log4j2线程上下文查找模式在某些非默认配置中容易受到远程代码执行的攻击。
CVE-2021-45105 漏洞介绍
Apache Log4j2 版本 2.0-alpha1 到 2.16.0 没有防止来自自引用查找的不受控制的递归。
当日志记录配置使用非默认的模式布局和上下文查找(例如,$${ctx:loginId})时,控制线程上下文映射 (MDC) 输入
数据的攻击者可以手工创建包含递归查找的恶意输入数据,从而导致 StackOverflowError
错误, 将终止进程。
这也称为 DOS(拒绝服务)攻击。
临时修复
如果你的版本不能升级到最新的2.17.0版本的话,技术团队提供以下的两种解决方案:
- 方案一:在日志记录配置的 PatternLayout 中,将上下文查找(如
${ctx:loginId}
或$${ctx:loginId}
)替换为 Thread Context Map 模式(%X、%mdc 或 %MDC)
。 - 方案二:在配置中,删除对上下文查找的引用,如
${ctx:loginId} 或 $${ctx:loginId}
,其中它们源自应用程序外部的源,如 HTTP 标头或用户输入。
问题原因
这个问题的原因也是在修复JNNI访问漏洞时,未能够修复完全而存在的问题。
范围
这个漏洞的影响就不像上一个的漏洞影响面那么广大。
只有 log4j-core JAR 文件受此漏洞影响。仅使用 log4j-api JAR 文件而不使用 log4j-core JAR 文件的应用程序不受此漏洞的影响。
Apache Log4j 是唯一受此漏洞影响的日志记录服务子项目。其他项目,如Log4net和Log4cxx不受此影响。
所以这个的波及范围,并没有很多人说的那么恐怖。但是我们为了安全性还是进行升级比较合适。
漏洞发现者
根据官网介绍和说明,这次的漏洞是由 Akamai Technologies 的 Hideki Okamoto、Trend Micro Research 的 Guy Lederfein 与趋势科技的 Zero Day Initiative 合作,以及另一位匿名漏洞研究人员独立发现。
其他
很多小伙伴,听说Log4j再次报雷了后。说从此告别Log4j2l库了。我个人觉得没有必要,因为软件是永远避免不了漏洞的出现。只要是能够及时进行修复更新,那么问题都不大。
而像Log4j这种库,全球那么多客户和厂商在使用,全球技术人员帮忙查找漏洞。配合更新升级维护的库。
比那些小众的,使用人少。几百年难得升级的要靠谱太多了。
当然了,越大众使用的库。被攻击的概率也高。毕竟黑客也要讲究效率的。对吧
软件的攻防是一个动态的。并没有所谓的完全安全,没有漏洞的程序。有太多的程序数据是属于裸奔状态下了。
建议
随时关注官网动态,了解最新更新情况。注意修复漏洞就可以了。
评论区