Apache has released version 2.17.0[1] of the patch for Log4j after discovering issues with their previous release, which came out on Tuesday[2]

Apache said version 2.16 "does not always protect from infinite recursion in lookup evaluation" and explained that it is vulnerable to CVE-2021-45105[3], a denial of service vulnerability. They said the severity is "high" and gave it a CVSS score of 7.5.

"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," Apache explained. 

They added that the latest issue was discovered by Akamai Technologies' Hideki Okamoto and an anonymous vulnerability researcher.

Mitigations include applying the 2.17.0 patch and replacing Context Lookups like ${ctx:loginId} or $${ctx:loginId} with Thread Context Map patterns (%X, %mdc, or %MDC) in PatternLayout in the logging configuration. Apache also suggested removing references to Context Lookups in the the configuration like ${ctx:loginId} or $${ctx:loginId} where they originate from sources external to the application such as HTTP headers or user input.

They noted that only the Log4j-core JAR file is impacted by CVE-2021-45105. 

On Friday, security researchers online began tweeting about potential issues[4] with 2.16.0, with some identifying the denial of service vulnerability[5]

Discussion about Log4j has dominated conversation all week. CISA released multiple advisories[6] mandating federal civilian agencies in the US apply patches before Christmas[7] while several major tech companies[8] like IBM,

Read more from our friends at ZDNet