During discussions about Log4j over the past 10 days, a comment from a colleague really stuck out to me:

The most reliable place to find new bugs and security holes is next to others you just found out about.

Given the industry has been taking Log4j apart over the past 10 days, it is not surprising more exploits have been discovered.

It is also very likely one or two more are uncovered before this week is over… just in time for Christmas.

Here are the three published CVE’s at the time of writing;

CVE-2021-44228 (2021-12-14)

Vulmatch CVE-2021-44228

  • Summary: Apache Log4j2 <=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. From log4j 2.15.0, this behavior has been disabled by default. In previous releases (>2.10) this behavior can be mitigated by setting system property “log4j2.formatMsgNoLookups” to “true” or it can be mitigated in prior releases (<2.10) by removing the JndiLookup class from the classpath.
  • Base CVSS Score (v3): 10
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Versions Affected: All versions from 2.0-beta9 to 2.14.1
  • Mitigations: Fixed in Log4j 2.15.0 (Java 8)

View on Vulmatch.

CVE-2021-45046 (2021-12-14)

Vulmatch CVE-2021-45046

  • Summary: 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 a denial of service (DOS) attack. Log4j 2.15.0 makes a best-effort attempt to restrict JNDI LDAP lookups to localhost by default. Log4j 2.16.0 fixes this issue by removing support for message lookup patterns and disabling JNDI functionality by default.
  • Base CVSS Score (v3): 3.7 (low)
  • Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
  • Versions Affected: All versions from 2.0-beta9 to 2.15.0, excluding 2.12.2
  • Mitigations: Fixed in Log4j 2.12.2 (Java 7) and Log4j 2.16.0 (Java 8)

View on Vulmatch

CVE-2021-45105 (2021-12-18)

Vulmatch CVE-2021-45105

  • Summary: 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.
  • Base CVSS Score (v3): 7.5 (high)
  • Vector: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • Versions Affected: All versions from 2.0-beta9 to 2.16.0
  • Mitigations: Fixed in Log4j 2.17.0 (Java 8)

View on Vulmatch

Join the Signals Corps on Discord

Join our public community of intelligence analysts and researchers sharing new content hourly.



Turn any blog into structured threat intelligence.


Stixify. Extract machine readable intelligence from unstructured data.

Extract machine readable intelligence from unstructured data.



Know when software you use is vulnerable, how it is being exploited, and how to detect an attack.

SIEM Rules

SIEM Rules. Your detection engineering database.

View, modify, and deploy SIEM rules for threat hunting.