CVE-2021-45046criticalunder attackransomwareCWE-917

CVE-2021-45046: critical vulnerability in Apache Log4j

Apache Log4j2 Thread Context Message Pattern and Context Lookup Pattern vulnerable to a denial of service attack

Published · Updated

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9epss 100%
from disclosure to weapon1 days
Published on NVDDec 14
1st PoC+1d
metasploitDec 9
CISA KEV+503d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
14 public exploit(s)
What the vendors declare (VEX)

Official vendor statements in CSAF/VEX format: whether their product is affected, already fixed, or ruled out — and why. These are the vendor's assertions, not Vexday's judgment.

Affected
3 products (4 components)
Red Hat OpenStack Platform 13 (Queens) · Red Hat Integration Camel Quarkus 1 · streams for Apache Kafka
workaround: For Log4j versions up to and including 2.15.0, this issue can be mitigated by removing the JndiLookup class from the classpath (example: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class).
Fixed
20 products (123 components)
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7 Server · Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7 Server · Red Hat OpenShift Container Platform 4.6 · OpenShift Logging 5.0 · OpenShift Logging 5.1 · and others 15
Not affected
24 products (2,365 components) — because the vulnerable code is not present in the product
Red Hat JBoss Enterprise Application Platform · Red Hat JBoss EAP 7.4 for RHEL 7 Server · Red Hat JBoss EAP 7.4 for RHEL 8 · OpenShift Logging 5.2 · OpenShift Logging 5.3 · and others 19
Action required by CISAfederal deadline: 2023-05-22

Apply updates per vendor instructions.

In short

Apache Log4j2 versions 2.15.0 have an incomplete fix that allows attackers to exploit Thread Context data in non-default logging configurations to leak information or execute malicious code. This affects systems using specific logging patterns that weren't properly secured in the initial patch.

Technical detail

CVE-2021-45046 is a follow-up to CVE-2021-44228 affecting Log4j 2.15.0 when non-default Pattern Layouts include Context Lookup or Thread Context Map patterns (e.g., ${ctx:*} or %X). Attackers with control over MDC input can inject JNDI Lookup patterns to achieve remote code execution (RCE) in certain environments or local code execution universally. The vulnerability requires logging configuration with specific pattern components and is mitigated in Log4j 2.16.0+ and 2.12.2+ by disabling JNDI by default and removing message lookup support.

Summary generated and translated by AI from the official description.

The full analysis of this CVE is available in Portuguese →

It was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allows attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-default Pattern Layout with either a Context Lookup (for example, $${ctx:loginId}) or a Thread Context Map pattern (%X, %mdc, or %MDC) to 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. Log4j 2.16.0 (Java 8) and 2.12.2 (Java 7) fix this issue by removing support for message lookup patterns and disabling JNDI functionality by default.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.