Arbitrary Code Execution Affecting org.apache.logging.log4j:log4j-core package, versions [2.0-beta7,2.3.2) [2.4,2.12.4) [2.13.0,2.17.1)


0.0
medium

Snyk CVSS

    Attack Complexity High
    Privileges Required High
    Confidentiality High
    Integrity High
    Availability High

    Threat Intelligence

    Exploit Maturity Proof of concept
    EPSS 2.5% (90th percentile)
Expand this section
NVD
6.6 medium
Expand this section
Red Hat
6.6 medium

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-JAVA-ORGAPACHELOGGINGLOG4J-2327339
  • published 28 Dec 2021
  • disclosed 28 Dec 2021
  • credit Unknown

How to fix?

Upgrade org.apache.logging.log4j:log4j-core to version 2.3.2, 2.12.4, 2.17.1 or higher.

Overview

org.apache.logging.log4j:log4j-core is a logging library for Java.

Affected versions of this package are vulnerable to Arbitrary Code Execution.
Note: Even though this vulnerability appears to be related to the log4Shell vulnerability, this vulnerability requires an attacker to have access to modify configurations to be exploitable, which is rarely possible.

An attacker with access to modification of logging configuration is able to configure JDBCAppender with a data source referencing a JNDI URI - which can execute malicious code.

In the fixed versions, JDBCAppender is using JndiManager and disables JNDI lookups by default (via log4j2.enableJndiJdbc=false).

Alternative Remediation

If you have reason to believe your application may be vulnerable and upgrading is not an option, you can either:

  • Disable/remove JDBCAppender
  • If JDBCAppender is used, make sure that it is not configured to use any protocol other than Java