在 Log4j 漏洞曝光之后,Apache 软件基金会于上周二发布了修补后的 2.17.0 新版本,并于周五晚些发布了一个新补丁。官方承认 2.16 版本无法在查找评估中妥善防止无限递归,因而易受 CVE-2021-45105 攻击的影响。据悉,这个拒绝服务(DoS)攻击的威胁级别相当之高,CVSS 评分达到了 7.5 / 10 。
截图(via Bleeping Computer)
具体说来是,Apache Log4j2 的 2.0-alpha1 到 2.16.0 版本,均未能防止自引用查找的不受控递归。
当日志配置使用了带有上下文查找的非默认模式布局时(例如 $${ctx:loginId}),控制线程上下文映射(MDC)数据输入的攻击者,便可制作一份包含递归查找的恶意输入数据,从而导致进程因堆栈溢出报错而被终止。
时隔三天冒出的新问题,是由 Akamai Technologies 的 Hideki Okamoto 和另一位匿名漏洞研究人员所发现的 —— 此类攻击又被称作 DoS(拒绝服务)。
缓解措施包括部署 2.17.0 补丁,并将诸如 ${ctx:loginId} 或 $${ctx:loginId} 之类的上下文查找,替换为日志记录配置中 PatternLayout 线程的上下文映射模式(如 %X、%mdc 或 %MDC)。
Apache 还建议在 ${ctx:loginId} 或 $${ctx:loginId} 等配置中,删除对上下文查找的引用 —— 它们源于应用程序的外部,比如 HTTP 标头或用户输入。
庆幸的是,只有 Log4j 的核心 JAR 文件,受到了 CVE-2021-45105 漏洞的的影响。
(图 via Google Security Blog)
周五的时候,网络安全研究人员开始发布有关 2.16.0 潜在问题的推文,且其中一些人确定了拒绝服务(DoS)漏洞。
美国网络安全和基础设施安全局(CISA)提出了多项紧急建议,要求联邦机构尽快在圣诞节前落实补丁修复。
与此同时,IBM、思科、VMware 等科技巨头,也在争分夺秒地修复自家产品中的 Log4j 漏洞。
第二波惶恐源于安全公司 Blumira 发现的另一种 Log4j 攻击,其能够利用机器或本地网络上的侦听服务器来发起攻击。
在此之前,许多人误以为 Log4j 漏洞仅限于暴露的易受攻击的服务器。而 Conti 之类的勒索软件组织,也在积极探索此类漏洞利用方法。