New Log4j Vulnerability (CVE-2021-45046) Results in Denial of Service

Description

UPDATE December 17 2021: The Apache Software Foundation has changed Denial of Service to Remote Code Execution and has upgraded a CVSS score from 3.7 to 9.0 as such this Threat Signal has been updated accordingly along with protection information.


What is the Vulnerability? (Updated on December 17th)

This is a new vulnerability (CVE-2021-45046) discovered in Log4j, the same utility that last week announced a critical vulnerability known as Log4Shell (CVE-2021-44228). Successfully exploiting this new vulnerability would result in an information leak and remote code execution (RCE) in some environments and local code execution in all environments. Initially CVE-2021-45046 was identified as a Denial of Service vulnerability.

The new vulnerability is tracked as CVE-2021-45046. The vulnerability was initially given a CVSS score of 3.7, however the score was upgraded to 9.0 as remote code execution and information leak could be achieved as a result of successful exploitation.

Apache provides the following updated description in their advisory on December 16th:

It was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. When the logging configuration uses a non-default Pattern Layout with a Context Lookup (for example, $${ctx:loginId}), attackers with control over Thread Context Map (MDC) input data can craft malicious input data using a JNDI Lookup pattern, resulting in an information leak and remote code execution in some environments and local code execution in all environments; remote code execution has been demonstrated on macOS but no other tested environments.

FortiGuard Labs previously released Threat Signal for CVE-2021-44228 (Log4Shell). See the Appendix for a link to "Apache Log4J Remote Code Execution Vulnerability (CVE-2021-44228)".


What Versions of Log4j are Affected?

All versions from 2.0-beta9 through 2.12.1 and 2.13.0 through 2.15.0


Has Apache Released a Fix for CVE-2021-45046?

Yes. In response to the issue, Apache Log4j 2.16.0 was released for Java 8 and up and 2.12.2 for Java 7.


What is the Status of Coverage? (Updated on December 17th)

FortiGuard Labs provides the following AV coverage against CVE-2021-45046:

Apache.Log4j.Error.Log.Remote.Code.Execution


Any Suggested Mitigation?

Apache provides the following mitigation in their advisory:


Log4j 1.x mitigation: Log4j 1.x is not impacted by this vulnerability.

Log4j 2.x mitigation: Implement one of the mitigation techniques below.


Java 8 (or later) users should upgrade to release 2.16.0.

Users requiring Java 7 should upgrade to release 2.12.2 when it becomes available (work in progress, expected to be available soon).

Otherwise, remove the JndiLookup class from the classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

Note that only the log4j-core JAR file is impacted by this vulnerability. Applications using only the log4j-api JAR file without the log4j-core JAR file are not impacted by this vulnerability.

description-logoOutbreak Alert

A 0-day exploit was discovered on a popular Java library Log4j2 that can result to a Remote Code Execution (RCE). This is a widely deployed library, and while systems protected by Fortinet Security Fabric are secured by the protections below, all systems need to upgrade ASAP as this is 10.0 severity. Due to the high visibility and attention, subsequent vulnerabilities have since emerged

View the full Outbreak Alert Report

Telemetry