CVE-2021-44228Apache Log4j2 Remote Code Execution Vulnerability
CVE-2021-44228 is a uncontrolled resource consumption in Apache Log4j2, rated critical (10.0 on CVSS 3.1).
Why this priority: Exploited in the wild: listed in CISA's KEV catalog.
Published · Updated · NVD status: Analyzed
What it is
Requests can consume unbounded CPU, memory or connections and starve the service. Serialized objects from outside are turned back into live objects, which a crafted payload can abuse to run code.
How it is reached
An attacker can exploit it over the network, without an account, and nobody has to click anything.
What an attacker gains
A successful attack can read the data it protects, change data or behaviour and take it offline. In practice, this kind of flaw lets an attacker exhaust CPU, memory or connections until the service stops answering. The damage can spread past the vulnerable component into others.
Is it being exploited?
CISA added it to the Known Exploited Vulnerabilities catalog on 2021-12-10: it is being exploited in the wild. CISA links it to ransomware campaigns. It can be exploited automatically, at scale. EPSS estimates a 100% chance of exploitation activity in the next 30 days, higher than 100% of scored CVEs.
What to do
- Treat it as urgent: it is on CISA's KEV list. CISA's deadline for US federal agencies: 2021-12-24.
- No fixed version is listed for Apache Log4j2 itself; fixed versions for the other affected products are listed on this page.
- Until it is patched, keep it off the internet or behind a VPN, allowlist or authenticating proxy.
- Check exposed instances for signs of compromise, not only for the version.
Description from NVD
Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects.
What this means for your architecture.
A CVE names a product. Whether it matters depends on where that product sits in your systems: what reaches it, which trust boundary it guards and what it can reach once compromised. Veriom maps your components, their relationships and your trust boundaries from your code, cloud and delivery evidence, so you can see where a component like this sits. The radar itself does not look at your systems.
Components it touches
- Network edge devices: VPNs, firewalls, routers and gateways. They sit between the internet and internal networks, so a flaw in one is often the first step into everything behind it.
- Operating systems on servers, workstations or devices. Everything on the host inherits the flaw.
- Public entry points and shared services that must stay up. The flaw sits between untrusted traffic and shared capacity.
- APIs, queues and caches that accept serialized objects. The flaw sits between a message producer and the service that deserializes it.
Trust boundaries in play
- Internet-facing entry points. No account is needed. Any instance reachable from outside your perimeter, through a load balancer, gateway, VPN or exposed admin port, is in scope.
- Isolation between components. The impact crosses out of the vulnerable component into others it should be isolated from.
- Between untrusted traffic and shared capacity. An attacker who crosses it can exhaust CPU, memory or connections until the service stops answering.
- Between a message producer and the service that deserializes it. An attacker who crosses it can turn crafted data into code execution inside the receiving service.
Questions to answer about your own systems
- Where does Apache Log4j2 run in your systems, and at which version?
- Which of those instances can be reached from the internet or partner networks?
- What can it reach once compromised: which data stores, secrets and services?
Read more
Patches and commits
Advisories
- packetstormsecurity.com/files/165225/Apache-Log4j2-2.14.1-Remote-Code-Execution.html
- packetstormsecurity.com/files/165260/VMware-Security-Advisory-2021-0028.html
- packetstormsecurity.com/files/165281/Log4j2-Log4Shell-Regexes.html
- packetstormsecurity.com/files/165282/Log4j-Payload-Generator.html
- packetstormsecurity.com/files/165306/L4sh-Log4j-Remote-Code-Execution.html
- packetstormsecurity.com/files/165307/Log4j-Remote-Code-Execution-Word-Bypassing.html
- packetstormsecurity.com/files/165311/log4j-scan-Extensive-Scanner.html
- packetstormsecurity.com/files/167794/Open-Xchange-App-Suite-7.10.x-Cross-Site-Scripting-Command-Injection.html
- packetstormsecurity.com/files/171626/AD-Manager-Plus-7122-Remote-Code-Execution.html
- seclists.org/fulldisclosure/2022/Jul/11
- seclists.org/fulldisclosure/2022/Mar/23
- www.openwall.com/lists/oss-security/2021/12/10/1
Releases
Exploits and proofs of concept
- packetstormsecurity.com/files/165261/Apache-Log4j2-2.14.1-Information-Disclosure.html
- packetstormsecurity.com/files/165270/Apache-Log4j2-2.14.1-Remote-Code-Execution.html
- packetstormsecurity.com/files/165371/VMware-Security-Advisory-2021-0028.4.html
- packetstormsecurity.com/files/165532/Log4Shell-HTTP-Header-Injection.html
- packetstormsecurity.com/files/165642/VMware-vCenter-Server-Unauthenticated-Log4Shell-JNDI-Injection-Remote-Code-Execution.html
- packetstormsecurity.com/files/165673/UniFi-Network-Application-Unauthenticated-Log4Shell-Remote-Code-Execution.html
- packetstormsecurity.com/files/167917/MobileIron-Log4Shell-Remote-Command-Execution.html
- seclists.org/fulldisclosure/2022/Dec/2
- github.com/nu11secur1ty/CVE-mitre/tree/main/CVE-2021-44228
- twitter.com/kurtseifried/status/1469345530182455296
- www.nu11secur1ty.com/2021/12/cve-2021-44228.html
Sources
- CVE records and CVSS scores from the NVD CVE API. This product uses the NVD API but is not endorsed or certified by the NVD.
- Exploitation status from CISA’s Known Exploited Vulnerabilities catalog.
- Exploit likelihood from FIRST’s Exploit Prediction Scoring System (EPSS), refreshed daily.
- Explanations are written by Veriom from fixed templates over each record’s data, not by a person reviewing each CVE. Descriptions are quoted from the records as published.