CVE-2021-45046Critical· 9.0▾ Hadal⚠ Exploited in the wildPoC availableIncomplete fix for Apache Log4j vulnerability
▾ Hadal zone — Critical and actively exploited (CISA KEV / 0day)
impact 49.5 · likelihood 20 · exploitation 25 · ransomware 5
A public proof-of-concept already exists for this vulnerability — see Exploit availability below.
Public exploit / PoC code seen in 3 sources. Availability, not in-the-wild use.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
Federal remediation due May 22, 2023
Last analysed / modified upstream
100%
11 GitHub repos · Metasploit ×1 · Nuclei ×1 (last check)
Added to the CISA catalog on May 1, 2023. Federal remediation due May 22, 2023. View catalog ↗
The fix to address 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.
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.
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.
org.apache.logging.log4j:log4j-core >= 2.13.0, < 2.16.0org.ops4j.pax.logging:pax-logging-log4j2 >= 1.8.0, < 1.9.2org.ops4j.pax.logging:pax-logging-log4j2 >= 1.10.0, < 1.10.8org.ops4j.pax.logging:pax-logging-log4j2 >= 1.11.0, < 1.11.11org.ops4j.pax.logging:pax-logging-log4j2 >= 2.0.0, < 2.0.12org.apache.logging.log4j:log4j-core >= 2.4.0, < 2.12.2org.apache.logging.log4j:log4j-core < 2.3.1Upgrade to a patched release:
org.apache.logging.log4j:log4j-core 2.16.0org.ops4j.pax.logging:pax-logging-log4j2 1.9.2org.ops4j.pax.logging:pax-logging-log4j2 1.10.8org.ops4j.pax.logging:pax-logging-log4j2 1.11.11org.ops4j.pax.logging:pax-logging-log4j2 2.0.12org.apache.logging.log4j:log4j-core 2.12.2org.apache.logging.log4j:log4j-core 2.3.1Connected by shared product, vendor, weakness, or advisory.
CVE-2020-9484High· 7.0When using Apache Tomcat versions 10.0.0-M1 to 10.0.0-M4, 9.0.0.M1 to 9.0.34, 8.5.0 to 8.5.54 and 7.0.0 to 7.0.103 if a) an attacker is able to control the contents and name of a file on the server; and b) the server is configured to use…
CVE-2020-36180High· 8.1FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, related to org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS.
CVE-2020-36179High· 8.1FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, related to oadd.org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.
CVE-2020-36184High· 8.1FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, related to org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.
CVE-2020-35728High· 8.1FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, related to com.oracle.wls.shaded.org.apache.xalan.lib.sql.JNDIConnectionPool (aka embedded Xalan in org.glassfish.web/jav…
CVE-2019-10086High· 7.3In Apache Commons Beanutils 1.9.2, a special BeanIntrospector class was added which allows suppressing the ability for an attacker to access the classloader via the class property available on all Java objects