CVE-2021-45105: Apache log4j2 log messages substitution (CVE-2021-44228)

Published Dec 12, 2021
·
Updated

A flaw was found in the Apache Log4j logging library 2.x. when the logging configuration uses a non-default Pattern Layout with a Context Lookup. Attackers with control over Thread Context Map (MDC) input data can craft malicious input data that contains a recursive lookup and can cause Denial of Service.

Other sources

Apache Log4j <=2.14.1 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled (CVE-2021-44228).

FortiGuard

Apache Log4j2 versions 2.0-alpha1 through 2.16.0 (excluding 2.12.3 and 2.3.1) did not protect from uncontrolled recursion from self-referential lookups. This allows an attacker with control over Thread Context Map data to cause a denial of service when a crafted string is interpreted. This issue was fixed in Log4j 2.17.0, 2.12.3, and 2.3.1.

Apache Log4j2 versions 2.0-alpha1 through 2.16.0 (excluding 2.12.3) did not protect from uncontrolled recursion from self-referential lookups. This allows an attacker with control over Thread Context Map data to cause a denial of service when a crafted string is interpreted. This issue was fixed in Log4j 2.17.0 and 2.12.3.

Affected packages Only the org.apache.logging.log4j:log4j-core package is directly affected by this vulnerability. The org.apache.logging.log4j:log4j-api should be kept at the same version as the org.apache.logging.log4j:log4j-core package to ensure compatability if in use.

GitHub

Apache Log4j2 versions 2.0-alpha1 through 2.16.0 did not protect from uncontrolled recursion from self-referential lookups. 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 that contains a recursive lookup, resulting in a StackOverflowError that will terminate the process. This is also known as a DOS (Denial of Service) attack.

This issue is being tracked as LOG4J2-3230

Mitigation:

Implement one of the following mitigation techniques:

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

Alternatively, this can be mitigated in configuration:

In PatternLayout in the logging configuration, replace Context Lookups like ${ctx:loginId} or $${ctx:loginId} with Thread Context Map patterns (%X, %mdc, or %MDC). Otherwise, in the configuration, remove references to Context Lookups like ${ctx:loginId} or $${ctx:loginId} where they originate from sources external to the application such as HTTP headers or user input.

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.

Reference: https://logging.apache.org/log4j/2.x/security.html https://www.openwall.com/lists/oss-security/2021/12/19/1 https://issues.apache.org/jira/browse/LOG4J2-3230

Red Hat

Affected Software

239 affected componentsFixes available
redhat/eap7-log4j<0:2.17.1-1.redhat_00001.1.el8ea
0:2.17.1-1.redhat_00001.1.el8ea
redhat/eap7-log4j<0:2.17.1-1.redhat_00001.1.el7ea
0:2.17.1-1.redhat_00001.1.el7ea
redhat/rh-sso7-keycloak<0:15.0.6-1.redhat_00001.1.el7
0:15.0.6-1.redhat_00001.1.el7
redhat/rh-sso7-keycloak<0:15.0.6-1.redhat_00001.1.el8
0:15.0.6-1.redhat_00001.1.el8
debian/apache-log4j2
2.17.1-1~deb10u12.17.0-1~deb10u12.17.1-1~deb11u12.17.0-1~deb11u12.19.0-2
debian/apache-log4j2<=2.16.0-1~deb10u1, <=2.16.0-1, <=2.16.0-1~deb11u1
2.17.0-12.17.0-1~deb11u12.17.0-1~deb10u1
Apache Log4j>=2.0<2.3.1
Apache Log4j>=2.4<2.12.3
Apache Log4j>=2.13.0<=2.16.0
NetApp Cloud Manager
Debian Debian Linux=10.0
Debian Debian Linux=11.0
SonicWall Email Security<=10.0.12
SonicWall Network Security Manager>=2.0<3.0
SonicWall Network Security Manager>=2.0<3.0
SonicWall Web Application Firewall>=3.0.0<3.1.0
SonicWall 6bk1602-0aa12-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa12-0tp0
SonicWall 6bk1602-0aa22-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa22-0tp0
SonicWall 6bk1602-0aa32-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa32-0tp0
SonicWall 6bk1602-0aa42-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa42-0tp0
SonicWall 6bk1602-0aa52-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa52-0tp0
Oracle Agile Engineering Data Management=6.2.1.0
Oracle Agile PLM=9.3.6
Oracle Agile Plm Mcad Connector=3.6
Oracle Autovue For Agile Product Lifecycle Management=21.0.2
Oracle Banking Deposits And Lines Of Credit Servicing=2.12.0
Oracle Banking Enterprise Default Management=2.7.1
Oracle Banking Enterprise Default Management=2.12.0
Oracle Banking Loans Servicing=2.12.0
Oracle Banking Party Management=2.7.0
Oracle Banking Payments=14.5
Oracle Banking Platform=2.6.2
Oracle Banking Platform=2.7.1
Oracle Banking Platform=2.12.0
Oracle Banking Trade Finance=14.5
Oracle Banking Treasury Management=14.5
Oracle Business Intelligence=5.5.0.0.0
Oracle Communications Asap=7.3
Oracle Communications Billing and Revenue Management=12.0.0.4
Oracle Communications Billing and Revenue Management=12.0.0.5
Oracle Communications Cloud Native Core Console=1.9.0
Oracle Communications Cloud Native Core Network Function Cloud Native Environment=1.10.0
Oracle Communications Cloud Native Core Network Repository Function=1.15.0
Oracle Communications Cloud Native Core Network Repository Function=1.15.1
Oracle Communications Cloud Native Core Network Slice Selection Function=1.8.0
Oracle Communications Cloud Native Core Policy=1.15.0
Oracle Communications Cloud Native Core Security Edge Protection Proxy=1.7.0
Oracle Communications Cloud Native Core Service Communication Proxy=1.15.0
Oracle Communications Cloud Native Core Unified Data Repository=1.15.0
Oracle Communications Convergence=3.0.2.2.0
Oracle Communications Convergence=3.0.3.0
Oracle Communications Convergent Charging Controller>=12.0.1.0.0<=12.0.4.0.0
Oracle Communications Convergent Charging Controller=6.0.1.0.0
Oracle Communications Diameter Signaling Router>=8.3.0.0<=8.5.1.0
Oracle Communications Eagle Element Management System=46.6
Oracle Communications Eagle Ftp Table Base Retrieval=4.5
Oracle Communications Element Manager<9.0
Oracle Communications Evolved Communications Application Server=7.1
Oracle Communications Interactive Session Recorder=6.3
Oracle Communications Interactive Session Recorder=6.4
Oracle Communications Ip Service Activator=7.4.0
Oracle Communications Messaging Server=8.1
Oracle Communications Network Charging And Control>=12.0.1.0.0<=12.0.4.0.0
Oracle Communications Network Charging And Control=6.0.1.0.0
Oracle Communications Network Integrity=7.3.6
Oracle Communications Performance Intelligence Center=10.4.0.3
Oracle Communications Pricing Design Center=12.0.0.4
Oracle Communications Pricing Design Center=12.0.0.5
Oracle Communications Service Broker=6.2
Oracle Communications Services Gatekeeper=7.0
Oracle Communications Session Report Manager<9.0
Oracle Communications Session Route Manager<9.0
Oracle Communications Unified Inventory Management=7.3.5
Oracle Communications Unified Inventory Management=7.4.1
Oracle Communications Unified Inventory Management=7.4.2
Oracle Communications User Data Repository=12.4
Oracle Communications WebRTC Session Controller=7.2.0.0
Oracle Communications WebRTC Session Controller=7.2.1
Oracle Data Integrator=12.2.1.3.0
Oracle Data Integrator=12.2.1.4.0
Oracle E-Business Suite=12.2
Oracle Enterprise Manager Base Platform=13.4.0.0
Oracle Enterprise Manager Base Platform=13.5.0.0
Oracle Enterprise Manager For Peoplesoft=13.4.1.1
Oracle Enterprise Manager For Peoplesoft=13.5.1.1
Oracle Enterprise Manager Ops Center=12.4.0.0
Oracle Financial Services Analytical Applications Infrastructure>=8.0.7<=8.1.1
Oracle Financial Services Model Management And Governance=8.0.8.0.0
Oracle Financial Services Model Management And Governance=8.1.0.0.0
Oracle Financial Services Model Management And Governance=8.1.1.0.0
Oracle FLEXCUBE Universal Banking>=12.1.0<=12.4
Oracle FLEXCUBE Universal Banking>=14.0.0<=14.3.0
Oracle FLEXCUBE Universal Banking=11.83.3
Oracle FLEXCUBE Universal Banking=14.5
Oracle Health Sciences Empirica Signal=9.1.0.6
Oracle Health Sciences Empirica Signal=9.2.0.0
Oracle Health Sciences InForm=6.2.1.1
Oracle Health Sciences InForm=6.3.2.1
Oracle Health Sciences InForm=7.0.0.0
Oracle Health Sciences Information Manager>=3.0.1<=3.0.4
Oracle Healthcare Data Repository=8.1.1
Oracle Healthcare Foundation>=7.3.0.1<=7.3.0.4
Oracle Healthcare Master Person Index=5.0.1
Oracle Healthcare Translational Research=4.1.0
Oracle Healthcare Translational Research=4.1.1
Oracle Hospitality Suite8=8.13.0
Oracle Hospitality Suite8=8.14.0
Oracle Hospitality Token Proxy Service=19.2
Oracle Hyperion Bi\+<11.2.8.0
Oracle Hyperion Data Relationship Management<11.2.8.0
Oracle Hyperion Infrastructure Technology<11.2.8.0
Oracle Hyperion Planning<11.2.8.0
Oracle Hyperion Profitability And Cost Management<11.2.8.0
Oracle Hyperion Tax Provision<11.2.8.0
Oracle Identity Management Suite=12.2.1.3.0
Oracle Identity Management Suite=12.2.1.4.0
Oracle Identity Manager Connector=9.1.0
Oracle Instantis Enterprisetrack=17.1
Oracle Instantis Enterprisetrack=17.2
Oracle Instantis Enterprisetrack=17.3
Oracle Insurance Data Gateway=1.0.1
Oracle Insurance Insbridge Rating And Underwriting>=5.4<=5.6.0.0
Oracle Insurance Insbridge Rating And Underwriting=5.2.0
Oracle Insurance Insbridge Rating And Underwriting=5.6.1.0
Oracle JDeveloper=12.2.1.4.0
Oracle Managed File Transfer=12.2.1.3.0
Oracle Managed File Transfer=12.2.1.4.0
Oracle Management Cloud Engine=1.5.0
Oracle MySQL Enterprise Monitor<=8.0.29
Oracle Payment Interface=19.1
Oracle Payment Interface=20.3
Oracle PeopleSoft Enterprise PeopleTools=8.58
Oracle PeopleSoft Enterprise PeopleTools=8.59
Oracle Primavera Gateway>=17.12.0<=17.12.11
Oracle Primavera Gateway>=18.8.0<=18.8.13
Oracle Primavera Gateway>=19.12.0<=19.12.12
Oracle Primavera Gateway>=20.12.0<=20.12.7
Oracle Primavera Gateway=21.12.0
Oracle Primavera P6 Enterprise Project Portfolio Management>=19.12.0.0<=19.12.18.0
Oracle Primavera P6 Enterprise Project Portfolio Management>=20.12.0.0<=20.12.12.0
Oracle Primavera P6 Enterprise Project Portfolio Management=21.12.0.0
Oracle Primavera Unifier=18.8
Oracle Primavera Unifier=19.12
Oracle Primavera Unifier=20.12
Oracle Primavera Unifier=21.12
Oracle Retail Back Office=14.1
Oracle Retail Central Office=14.1
Oracle Retail Customer Insights=15.0.2
Oracle Retail Customer Insights=16.0.2
Oracle Retail Data Extractor For Merchandising=15.0.2
Oracle Retail Data Extractor For Merchandising=16.0.2
Oracle Retail EFTLink=16.0.3
Oracle Retail EFTLink=17.0.2
Oracle Retail EFTLink=18.0.1
Oracle Retail EFTLink=19.0.1
Oracle Retail EFTLink=20.0.1
Oracle Retail EFTLink=21.0.0
Oracle Retail Financial Integration>=16.0.1<=16.0.3
Oracle Retail Financial Integration=14.1.3.2
Oracle Retail Financial Integration=15.0.3.1
Oracle Retail Financial Integration=19.0.0
Oracle Retail Financial Integration=19.0.1
Oracle Retail Integration Bus>=16.0.1<=16.0.3
Oracle Retail Integration Bus>=19.0.0<=19.0.1.0
Oracle Retail Integration Bus=14.1.3
Oracle Retail Integration Bus=14.1.3.2
Oracle Retail Integration Bus=15.0.3.1
Oracle Retail Integration Bus=19.0.0
Oracle Retail Integration Bus=19.0.1
Oracle Retail Invoice Matching=15.0.3
Oracle Retail Invoice Matching=16.0.3
Oracle Retail Merchandising System=16.0.3
Oracle Retail Merchandising System=19.0.1
Oracle Retail Order Broker=16.0
Oracle Retail Order Broker=18.0
Oracle Retail Order Broker=19.1
Oracle Retail Order Management System=19.5
Oracle Retail Point-of-Service=14.1
Oracle Retail Predictive Application Server=14.1.3.46
Oracle Retail Predictive Application Server=15.0.3.115
Oracle Retail Predictive Application Server=16.0.3.240
Oracle Retail Price Management=13.2
Oracle Retail Price Management=14.0.4
Oracle Retail Price Management=14.1.3.0
Oracle Retail Price Management=15.0.3.0
Oracle Retail Price Management=16.0.3.0
Oracle Retail Returns Management=14.1
Oracle Retail Service Backbone>=16.0.1<=16.0.3
Oracle Retail Service Backbone=14.1.3
Oracle Retail Service Backbone=14.1.3.2
Oracle Retail Service Backbone=15.0.3.1
Oracle Retail Service Backbone=19.0.0
Oracle Retail Service Backbone=19.0.1
Oracle Retail Service Backbone=19.0.1.0
Oracle Retail Store Inventory Management=14.0.4.13
Oracle Retail Store Inventory Management=14.1.3.5
Oracle Retail Store Inventory Management=14.1.3.14
Oracle Retail Store Inventory Management=15.0.3.3
Oracle Retail Store Inventory Management=15.0.3.8
Oracle Retail Store Inventory Management=16.0.3.7
Oracle Siebel UI Framework<=21.12
Oracle SQL Developer<21.4.2
Oracle Taleo Platform<22.1
Oracle Utilities Framework>=4.3.0.1.0<=4.3.0.6.0
Oracle Utilities Framework=4.4.0.0.0
Oracle Utilities Framework=4.4.0.2.0
Oracle Utilities Framework=4.4.0.3.0
Oracle WebCenter Portal=12.2.1.3.0
Oracle WebCenter Portal=12.2.1.4.0
Oracle WebCenter Sites=12.2.1.3.0
Oracle WebCenter Sites=12.2.1.4.0
Oracle WebLogic Server=12.2.1.3.0
Oracle WebLogic Server=12.2.1.4.0
Oracle WebLogic Server=14.1.1.0.0
All of the following
SonicWall 6bk1602-0aa12-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa12-0tp0
All of the following
SonicWall 6bk1602-0aa22-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa22-0tp0
All of the following
SonicWall 6bk1602-0aa32-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa32-0tp0
All of the following
SonicWall 6bk1602-0aa42-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa42-0tp0
All of the following
SonicWall 6bk1602-0aa52-0tp0 Firmware<2.7.0
SonicWall 6bk1602-0aa52-0tp0
maven/org.ops4j.pax.logging:pax-logging-log4j2>=2.0.0<2.0.13
2.0.13
maven/org.ops4j.pax.logging:pax-logging-log4j2>=1.11.0<1.11.12
1.11.12
maven/org.ops4j.pax.logging:pax-logging-log4j2>=1.10.0<1.10.9
1.10.9
maven/org.ops4j.pax.logging:pax-logging-log4j2>=1.8.0<1.9.2
1.9.2
maven/org.apache.logging.log4j:log4j-core<2.3.1
2.3.1
maven/org.apache.logging.log4j:log4j-core>=2.13.0<2.17.0
2.17.0
maven/org.apache.logging.log4j:log4j-core>=2.4.0<2.12.3
2.12.3
redhat/log4j<2.17.0
2.17.0
redhat/log4j<2.12.3
2.12.3
redhat/log4j<2.3.1
2.3.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/eap7-log4j to a version that resolves this vulnerability.

    Fixed in 0:2.17.1-1.redhat_00001.1.el8ea
  2. Upgrade

    Upgrade redhat/eap7-log4j to a version that resolves this vulnerability.

    Fixed in 0:2.17.1-1.redhat_00001.1.el7ea
  3. Upgrade

    Upgrade redhat/rh-sso7-keycloak to a version that resolves this vulnerability.

    Fixed in 0:15.0.6-1.redhat_00001.1.el7
  4. Upgrade

    Upgrade redhat/rh-sso7-keycloak to a version that resolves this vulnerability.

    Fixed in 0:15.0.6-1.redhat_00001.1.el8
  5. Upgrade

    Upgrade debian/apache-log4j2 to a version that resolves this vulnerability.

    Fixed in 2.17.1-1~deb10u1Fixed in 2.17.0-1~deb10u1Fixed in 2.17.1-1~deb11u1Fixed in 2.17.0-1~deb11u1Fixed in 2.19.0-2
  6. Upgrade

    Upgrade debian/apache-log4j2 to a version that resolves this vulnerability.

    Fixed in 2.17.0-1Fixed in 2.17.0-1~deb11u1Fixed in 2.17.0-1~deb10u1
  7. Upgrade

    Upgrade maven/org.ops4j.pax.logging:pax-logging-log4j2 to a version that resolves this vulnerability.

    Fixed in 2.0.13
  8. Upgrade

    Upgrade maven/org.ops4j.pax.logging:pax-logging-log4j2 to a version that resolves this vulnerability.

    Fixed in 1.11.12
  9. Upgrade

    Upgrade maven/org.ops4j.pax.logging:pax-logging-log4j2 to a version that resolves this vulnerability.

    Fixed in 1.10.9
  10. Upgrade

    Upgrade maven/org.ops4j.pax.logging:pax-logging-log4j2 to a version that resolves this vulnerability.

    Fixed in 1.9.2
  11. Upgrade

    Upgrade maven/org.apache.logging.log4j:log4j-core to a version that resolves this vulnerability.

    Fixed in 2.3.1
  12. Upgrade

    Upgrade maven/org.apache.logging.log4j:log4j-core to a version that resolves this vulnerability.

    Fixed in 2.17.0
  13. Upgrade

    Upgrade maven/org.apache.logging.log4j:log4j-core to a version that resolves this vulnerability.

    Fixed in 2.12.3
  14. Upgrade

    Upgrade redhat/log4j to a version that resolves this vulnerability.

    Fixed in 2.17.0
  15. Upgrade

    Upgrade redhat/log4j to a version that resolves this vulnerability.

    Fixed in 2.12.3
  16. Upgrade

    Upgrade redhat/log4j to a version that resolves this vulnerability.

    Fixed in 2.3.1
  17. Upgrade

    Upgrade org.apache.logging.log4j:log4j-core to a version that resolves this vulnerability.

    Fixed in 2.17.0
  18. Upgrade

    Upgrade org.apache.logging.log4j:log4j-core to a version that resolves this vulnerability.

    Fixed in 2.12.3
  19. Upgrade

    Upgrade org.apache.logging.log4j:log4j-core to a version that resolves this vulnerability.

    Fixed in 2.3.1
  20. Configuration

    In PatternLayout in the Log4j logging configuration, replace Context Lookups like ${ctx:loginId} or $${ctx:loginId} with Thread Context Map patterns (%X, %mdc, or %MDC) like %X{loginId}.

    Log4j PatternLayout (log4j-core logging configuration) Context Lookups in PatternLayout (e.g., ${ctx:loginId} or $${ctx:loginId}) = Replace with Thread Context Map patterns (%X, %mdc, or %MDC) like %X{loginId}
  21. Configuration

    Otherwise, in the Log4j logging configuration, remove references to Context Lookups like ${ctx:loginId} or $${ctx:loginId} where they originate from sources external to the application such as HTTP headers or user input.

    Log4j PatternLayout (log4j-core logging configuration) Context Lookups in PatternLayout (e.g., ${ctx:loginId} or $${ctx:loginId}) = Remove references

Event History

Dec 12, 2021
Advisory Published
via FortiGuard·12:00 AM
Data Sourced
via FortiGuard·12:00 AM
DescriptionSeverityWeaknessAffected Software
Dec 18, 2021
CVE Published
12:00 AM
CVE Published
via MITRE·11:55 AM
Data Sourced
via MITRE·11:55 AM
DescriptionWeakness
Data Sourced
via NVD·12:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Advisory Published
via GitHub·06:00 PM
Dec 20, 2021
Data Sourced
via Red Hat·02:28 AM
DescriptionSeverityAffected Software
Jun 3, 2026
Advisory Published
via ZDI·12:42 PM
Data Sourced
via ZDI·12:42 PM
DescriptionAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2021-45105?

CVE-2021-45105 is rated as critical due to the potential for remote code execution through malicious crafted input.

2

How do I fix CVE-2021-45105?

To fix CVE-2021-45105, update the Apache Log4j library to versions 2.17.1 or later.

3

What applications are affected by CVE-2021-45105?

CVE-2021-45105 affects various applications utilizing vulnerable versions of the Apache Log4j 2.x logging library.

4

Can CVE-2021-45105 lead to data compromise?

Yes, the exploitation of CVE-2021-45105 can allow attackers to execute arbitrary code, potentially leading to data compromise.

5

Is there a workaround for CVE-2021-45105?

If immediate updating is not possible, consider disabling the logging configuration using a non-default Pattern Layout with context lookups.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203