Log4Shell漏洞危及数百万Java应用
由于Java的Apache Log4j日志库无处不在,其零日漏洞的广泛利用将使家庭用户和企业等暴露于持续的远程代码执行攻击。
近日,安全报告显示,攻击者正在积极利用Apache Log4j中的一个高危漏洞Log4Shell(CVSS评分高达10分),后者是一个日志库,被用于数百万个基于Java的应用程序,包括基于Web的应用程序。该漏洞允许在Log4j 2.0-beta9至2.14.1的系统上完全接管系统。
企业应立即审查其应用程序,尤其是可公开访问的应用程序是否使用该库,并应尽快实施缓解措施。
12月9日,Apache Log4j开发人员仍在努力发布修补版本,此漏洞的概念验证漏洞现在被跟踪为CVE-2021-44228。由于攻击者对该漏洞的利用速度很快,使该漏洞在被利用时成为零日(未修补)漏洞。目前Apache已经发布了包含修复程序的Log4j 2.15.0。
1、Log4Shell漏洞的利用
Log4Shell漏洞可导致在运行易受攻击的应用程序的底层服务器上远程执行代码,利用该问题无需身份验证。
“当启用消息查找替换时,可以控制日志消息或日志消息参数的攻击者可以执行从LDAP服务器加载的任意代码,”开发人员在他们的建议中说。“从log4j 2.15.0开始,默认情况下已禁用此行为。”
这通常意味着,如果用户可以生成包含特定输入的请求,并且该请求通过Log4j记录,则该漏洞可能会被利用。由于大多数应用程序都设计为以多种方式接受用户输入,因此漏洞利用不费吹灰之力。
据bug tracker开发人员透露,阿里巴巴云安全团队的陈兆军最初在11月报告了这个问题,但开发人员表示补丁版本的发布可能会延迟,因为上周五研究人员找到了绕过补丁的方法,而且其漏洞概念验证刚一公布到Github就被三个攻击者利用。
2、超级漏洞影响深远
Log4j由Apache基金会开发,被企业应用程序和云服务广泛使用。因此,Log4Shell漏洞无异于一颗深水炸弹。不仅影响直接使用该库的基于Java的应用程序和服务,还影响许多其他流行的依赖它的Java组件和开发框架,包括但不限于Apache Struts2、Apache Solr、Apache Druid、Apache Flink、ElasticSearch、ApacheKafka。
由于Java的Apache Log4j日志库无处不在,其零日漏洞的广泛利用将使家庭用户和企业等暴露于持续的远程代码执行攻击。
3、缓解措施:“疫苗”问世
Apache已经发布了包含漏洞补丁的Log4j 2.15.0,2.1之前版本也可以通过将系统属性”log4j2.formatMsgNoLookups”设置为”true”,或者从classpath中移除JndiLookup class来缓解漏洞。
网络安全公司Cybereason上周五晚间还发布了Log4Shell漏洞的“疫苗”Logout4Shell(https://github.com/Cybereason/Logout4Shell),可以利用漏洞远程关闭存在漏洞的Log4Shell实例。