Log4Shell 是 Log4j 2.0(Log4J2)的一个 0day 远程代码执行漏洞,被定性为“过去十年来最大、最关键的漏洞”,最早由阿里巴巴集团于2021年11月24日发现并报告给 Apache 软件基金会。
尽管已经过去了两年,但根据安全公司 Veracode 的报告,该漏洞的影响仍然存在。
Veracode 分析了 2023 年 8 月 15 日至 11 月 15 日期间 90 天内的软件扫描数据,针对 3,866 个组织运行 Log4j 版本 1.1 至 3.0.0-alpha1 的 38,278 个独特应用程序。
在Log4j 1.1到 3.0.0-alpha1 版本中,有超过三分之一的应用程序使用了存在漏洞的 Log4j 版本。具体来说:
- 2.8% 的应用程序仍在使用 Log4j2 2.0-beta9 到 2.15.0 之间的版本,这些版本存在 Log4Shell 漏洞。
- 另外 3.8% 的应用程序使用的是 Log4j2 2.17.0 版本,虽然该版本已修复了 Log4Shell 漏洞,但仍然存在 CVE-2021-44832 漏洞,这是一个高危的远程代码执行漏洞。
- 还有 32% 的应用程序使用的是Log4j2 1.2.x 版本,这个版本在2015年8月已经停止维护,但在2022年1月ASF宣布了三个影响该版本的关键漏洞。
这些数据表明,尽管各方对 Log4Shell 漏洞进行了大规模的修复工作,但仍然存在许多应用程序使用了存在漏洞的 Log4j 版本。
Veracode 的研究还发现,许多开发者在将第三方库引入到代码后从未更新过这些库。这也解释了为什么有如此大比例的应用程序在运行已经停止维护的 Log4j 版本。
此外,研究还发现,一旦开发者通过扫描发现了漏洞,他们通常会相对迅速地进行修复。但是,一些外部因素会拖慢开发人员的修复速度,例如缺乏信息或资源。
延伸阅读
- Log4j 维护者:为向后兼容没移除导致漏洞的旧功能
- Apache Log4j 漏洞的影响规模
- “核弹级” Log4j 漏洞仍普遍存在,并造成持续影响