Trustwave security and engineering teams became aware of the Log4j zero-day CVE-2021-44228 overnight on December 9. We immediately investigated the vulnerability and potential exploits.
Trustwave infrastructure has not been affected by the vulnerability / exploit. Where there was potential for abuse via the exploit, we have remedied in our environments. We are diligently watching over our customers for exposure and associated attacks, as we are able to detect the exploit in the wild. We are taking action with approved mitigation efforts.
The security team from Alibaba Cloud reported the CVE-2021-44228 to Apache on November 24. The CVE impacts default configurations of Apache frameworks: Apache Struts2, Apache Solr, Apache Druid, Apache Flink, and others. It is a remotely exploitable security flaw, which does not require authentication.
CVE-2021-44228 has a CVSS score of 10.0. If exploited, an attacker can take control of a system running Log4j versions 2.0-beta9 to 2.14.1. Log4j is an open-source, Java-based logging utility created by the Apache Software Foundation and is widely used by enterprise applications and cloud services.
On December 9, proof-of-concept exploit was published on GitHub. Cybercriminals began scanning the internet for vulnerable systems.
GreyNoise Intelligence has reported "a sharply increasing number of hosts opportunistically exploiting Apache Log4j CVE-2021-4428". You can get the latest info from GreyNoise in the Tweet thread below.
— GreyNoise (@GreyNoiseIO) December 10, 2021
Organizations utilizing Apache log4j versions between version 2.0 and 2.14.1 are vulnerable.
To identify whether you've been affected, examine the log files for any services using affected log4j versions -- they will contain user-controlled strings. For example, "Jndi:ldap"(per CERT NZ).
The Apache Foundation has issued a critical advisory and recommends users install the latest version, Log4j 2.15.0, and apply mitigations.
According to the advisory: In previous releases (>=2.10) this behavior can be mitigated by setting system property "log4j2.formatMsgNoLookups" to "true" or by removing the JndiLookup class from the classpath (example: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class). Java 8u121 (see https://www.oracle.com/java/technologies/javase/8u121-relnotes.html) protects against RCE by defaulting "com.sun.jndi.rmi.object.trustURLCodebase" and "com.sun.jndi.cosnaming.object.trustURLCodebase" to "false".
The Cybersecurity Infrastructure Security Agency (CISA) and CERT NZ (New Zealand's national Computer Emergency Response Team) have issued security advisories as well.
At this time, the number of exploitations that have taken place is unknown.
An assume-breach mindset is critical to adopt in the age of rampant zero-days. As with all zero-day vulnerabilities, there are basic steps an organization can take to protect itself before and after such a flaw is uncovered.