Actively exploited vulnerability
Apache Log4j2: code execution flaw under attack
CVE-2021-45046 · Apache Log4j2 Deserialization of Untrusted Data Vulnerability
What is affected
Apache Log4j2 is mostly run by companies, schools and public bodies, not on home computers. You are unlikely to have it yourself, but organisations that hold your data may. Breaches that start with flaws like this one are how personal data ends up leaked.
Apache Log4j2 contains a deserialization of untrusted data vulnerability due to the incomplete fix of CVE-2021-44228, where the Thread Context Lookup Pattern is vulnerable to remote code execution in certain non-default configurations.
What an attacker can do
This is a code execution flaw. It lets an attacker run their own commands or programs on the affected system. In practice that usually means taking it over: installing malware, stealing data or using it to reach other devices on the same network.
- How it is reached
- Over the internet or network
- Access the attacker needs
- No account needed
- Does the victim have to do something?
- No, works without the victim doing anything
CISA records this vulnerability as known to be used in ransomware campaigns: attackers use it to get in, then encrypt files and demand payment.
What to do
- At home: nothing to install. Keep your own devices updated and use a different password for every service, so that a breach at one organisation does not open your other accounts.
- If you administer Apache Log4j2 at work: apply the vendor's fix or mitigation now and review logs for signs of compromise, because the flaw was being exploited before it was listed.
- If the product is past its support date and no fix exists, take it off the internet or retire it.
Apply updates per vendor instructions.
Vendor advisories and fixes
- logging.apache.orglogging.apache.org/log4j/2.x/security.html
How urgent is it
CISA added this vulnerability to its Known Exploited Vulnerabilities catalogue on May 1, 2023, which means there is reliable evidence of attacks in the wild. US federal agencies must fix it by May 22, 2023, a deadline that has already passed. That deadline does not bind anyone else, but it shows how seriously the agency rates it.
The EPSS model estimates a 100% probability that this flaw will be exploited somewhere in the next 30 days. That is higher than 100.0% of all scored vulnerabilities.
Its CVSS severity score is 9.0 out of 10 (critical), as recorded in the US National Vulnerability Database.
Technical description
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 an information leak and remote code execution in some environments and local code execution in all environments. Log4j 2.16.0 (Java 8) and 2.12.2 (Java 7) fix this issue by removing support for message lookup patterns and disabling JNDI functionality by default.