CVE Vulnerabilities

CVE-2021-45046

Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')

Published: Dec 14, 2021 | Modified: Oct 27, 2025
CVSS 3.x
9
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS 2.x
5.1 MEDIUM
AV:N/AC:H/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
8.1 MODERATE
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu
HIGH
root.io logo minimus.io logo echo.ai logo

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.

Weakness

The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed.

Affected Software

NameVendorStart VersionEnd Version
Log4jApache2.0.1 (including)2.12.2 (excluding)
Log4jApache2.13.0 (including)2.16.0 (excluding)
Log4jApache2.0 (including)2.0 (including)
Log4jApache2.0-beta9 (including)2.0-beta9 (including)
Log4jApache2.0-rc1 (including)2.0-rc1 (including)
Log4jApache2.0-rc2 (including)2.0-rc2 (including)
OpenShift Logging 5.0RedHatopenshift-logging/elasticsearch6-rhel8:v5.0.10-1*
OpenShift Logging 5.1RedHatopenshift-logging/elasticsearch6-rhel8:v6.8.1-67*
OpenShift Logging 5.2RedHatopenshift-logging/elasticsearch6-rhel8:v6.8.1-66*
OpenShift Logging 5.3RedHatopenshift-logging/elasticsearch6-rhel8:v6.8.1-65*
Red Hat AMQ Streams 2.0.0RedHat*
Red Hat Data Grid 8.2.3RedHatlog4j-core*
Red Hat Fuse 7.8.2, 7.9.1, 7.10.1RedHatlog4j-core*
Red Hat Integration Camel Extensions for Quarkus 2.2RedHat*
Red Hat Integration Camel-K 1.6.3RedHatlog4j-core*
Red Hat JBoss Enterprise Application Platform 7RedHatlog4j-core*
Red Hat JBoss Enterprise Application Platform 7RedHatlog4j-core*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-apache-cxf-0:3.1.16-4.redhat_00003.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-jackson-databind-0:2.8.11.6-2.SP1_redhat_00002.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-jettison-0:1.3.8-2.redhat_00002.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-netty-0:4.1.63-1.Final_redhat_00002.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-resteasy-0:3.0.27-1.Final_redhat_00001.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-snakeyaml-0:1.33.0-1.SP1_redhat_00001.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-velocity-0:1.7.0-3.redhat_00006.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7RedHateap7-wildfly-0:7.1.9-2.GA_redhat_00002.1.ep7.el7*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-hal-console-0:3.2.17-1.Final_redhat_00001.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jackson-annotations-0:2.10.4-2.redhat_00004.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jackson-core-0:2.10.4-2.redhat_00004.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jackson-databind-0:2.10.4-4.redhat_00004.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jackson-jaxrs-providers-0:2.10.4-2.redhat_00004.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jackson-modules-base-0:2.10.4-4.redhat_00004.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jackson-modules-java8-0:2.10.4-2.redhat_00004.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-jettison-0:1.5.2-2.redhat_00002.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-netty-0:4.1.63-4.Final_redhat_00002.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-resteasy-0:3.11.6-1.Final_redhat_00001.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-snakeyaml-0:1.33.0-1.SP1_redhat_00001.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7RedHateap7-wildfly-0:7.3.12-3.GA_redhat_00002.1.el7eap*
Red Hat JBoss Enterprise Application Platform 7.4 for RHEL 8RedHateap7-log4j-0:2.17.1-1.redhat_00001.1.el8eap*
Red Hat JBoss Enterprise Application Platform 7.4 on RHEL 7RedHateap7-log4j-0:2.17.1-1.redhat_00001.1.el7eap*
Red Hat OpenShift Container Platform 3.11RedHatopenshift3/ose-logging-elasticsearch5:v3.11.570-2.gd119820*
Red Hat OpenShift Container Platform 4.6RedHatopenshift4/ose-logging-elasticsearch6:v4.6.0-202112132021.p0.g2a13a81.assembly.stream*
Red Hat OpenShift Container Platform 4.6RedHatopenshift4/ose-metering-hive:v4.6.0-202112140546.p0.g8b9da97.assembly.stream*
Red Hat OpenShift Container Platform 4.6RedHatopenshift4/ose-metering-presto:v4.6.0-202112150545.p0.g190688a.assembly.art3595*
Red Hat OpenShift Container Platform 4.7RedHatopenshift4/ose-metering-hive:v4.7.0-202112140553.p0.g091bb99.assembly.stream*
Red Hat OpenShift Container Platform 4.7RedHatopenshift4/ose-metering-presto:v4.7.0-202112150631.p0.gd502108.assembly.4.7.40*
Red Hat OpenShift Container Platform 4.8RedHatopenshift4/ose-metering-hive:v4.8.0-202112132154.p0.g57dd03a.assembly.stream*
Red Hat OpenShift Container Platform 4.8RedHatopenshift4/ose-metering-presto:v4.8.0-202112150431.p0.g4b934ae.assembly.art3599*
Vert.x 4.1.8RedHatlog4j-core*
Apache-log4j2Ubuntuesm-apps/focal*
Apache-log4j2Ubuntufocal*
Apache-log4j2Ubuntuhirsute*
Apache-log4j2Ubuntuimpish*
Apache-log4j2Ubuntutrusty*
Apache-log4j2Ubuntuupstream*
Apache-log4j2Ubuntuxenial*

Potential Mitigations

  • If user-controlled data must be added to an expression interpreter, one or more of the following should be performed:

References