GHSA-7rjr-3q55-vv33

Incomplete fix for Apache Log4j vulnerability

At a glance

Published
Updated
CVE
CVE-2021-45046
CVSS_V3
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Description

# Impact The fix to address [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allow 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 a remote code execution (RCE) attack. ## 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. # Mitigation Log4j 2.16.0 fixes this issue by removing support for message lookup patterns and disabling JNDI functionality by default. This issue can be mitigated in prior releases (< 2.16.0) by removing the JndiLookup class from the classpath (example: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class). Log4j 2.15.0 restricts JNDI LDAP lookups to localhost by default. Note that previous mitigations involving configuration such as to set the system property `log4j2.formatMsgNoLookups` to `true` do NOT mitigate this specific vulnerability.

Affected packages

PackageVersions
Maven · org.apache.logging.log4j:log4j-coreintroduced 2.13.0, fixed 2.16.0
Maven · org.apache.logging.log4j:log4j-coreintroduced 2.4.0, fixed 2.12.2
Maven · org.ops4j.pax.logging:pax-logging-log4j2introduced 1.8.0, fixed 1.9.2
Maven · org.ops4j.pax.logging:pax-logging-log4j2introduced 1.10.0, fixed 1.10.8
Maven · org.ops4j.pax.logging:pax-logging-log4j2introduced 1.11.0, fixed 1.11.11
Maven · org.ops4j.pax.logging:pax-logging-log4j2introduced 2.0.0, fixed 2.0.12
Maven · org.apache.logging.log4j:log4j-coreintroduced 0, fixed 2.3.1

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database