1.7万个Maven Java组件受Log4j漏洞影响

Log4j漏洞之所以震撼全球,是因为使用的网站及软件太多。Google上周发现许多开发人员常用的Maven Central存储库(repository)、也有高达1.7万个Java组件受到该漏洞影响,可能引发软件供应攻击,其中有约1/4已经修补。

Maven Central存储库用以协助开发人员解决函数库的依赖性管理问题,是最主要的Java组件库之一。Google开源分析洞见小组上周(12/17)指出,Maven Central存储库有35,863个Java组件使用受影响的Log4j程序代码,占所有Maven Central组件的8%。不修补的结果将成为软件用户的灾难,攻击者可使用恶意JNDI查询指令,在用户系统上远程执行程序代码。许多版函数库中是默认打开JNDI查询功能。

不过Google稍后指出,这3.5万是根据原先CVE公告,将依赖log4j-core及log4j-api的Java组件列入计算。之后,CVE公告澄清只有log4j-core有Log4j漏洞影响。截至12月19日,因log4j-core相依而受影响的Java组件有1.7万余个,占所有Maven Central Java组件约4%。

Google以Java组件是否升级到2.16.0(最新版为2.17.0)或移除和Log4j依赖性定义它是否修补。到12月19日,有25%(约4200个组件)已经完成修补。

在这1.7万受影响的Java组件中,大部分是间接依赖log4j。研究人员解释,当漏洞位于相依链(dependency chain)愈深层,就需花愈多步骤来解决。Google分析Maven Central Java组件大部分都超过1层深,而5到9层深者也为数不少。

至于所有受Log4j漏洞影响的Java组件修补要多久时间,Google认为很难说,由于目前修补比例并不高,因此全部修补好要花几年也说不定。Google也提供500个和Log4j直接相依的Java组件,及是否修补的清单供开发人员及管理员参考。

除了发送恶意JNDI查询指令外,Blumira另外也发现攻击者可借由WebSocket协议发送恶意HTTP请求触发Log4j漏洞(Log4Shell),而在用户机器或本地网络主机上执行任意程序代码。此外2.16.0版本还发现一个DoS漏洞。为确安全全,Apache呼吁开发人员及管理员应升级到最新的2.17.0版。

12/21相关报道WebSocket成Log4j漏洞攻击新渠道,连不对外网络主机也曝险

12/20相关报道Apache Log4j再发布2.17版,修补DoS漏洞

12/16相关报道Log4j 2.15.0修补不全、Apache再释2.16.0新版

Log4j相关修补时间轴Apache Log4j日志框架系统重大漏洞