45 Ivan Allen Jr Blvd NW
Atlanta, GA 30308
+1 (888) 808-7330
General: [email protected]
Sales: [email protected]
Support: [email protected]
A retrospective on CVE-2021-44228 — who it hit, what actually happened, and why it is still generating attack traffic in 2026.
On 9 December 2021, a proof-of-concept exploit for a bug in a Java logging library appeared on GitHub. Within hours, security teams across the world were pulling engineers out of holiday plans. Within 72 hours, defenders had recorded close to a million exploitation attempts. Cloudflare measured roughly 20,000 exploit requests per minute at the peak of the first evening.
Four years later, the fire is smaller, but it never went out. In 2025, developers pulled Log4j from Maven Central roughly 300 million times — and about 40 million of those downloads still contained the vulnerability, according to Sonatype's research. That is not a legacy problem. That is a live one.
This post covers what Log4Shell was, which organizations were genuinely affected versus merely exposed, how threat actors adopted it, and what the persistent-exposure data means for anyone running Java in production today.
Apache Log4j 2 is the default logging framework for a large share of the Java ecosystem. Its job is mundane: take a string, write it to a log.
The problem was that Log4j did not simply write the string. In affected versions, it interpreted it. A message containing a JNDI lookup — a directive telling Java to resolve a resource from a directory service — would cause the logging call to reach out via LDAP or RMI to the address specified by the string, retrieve a Java class, and execute it.
The exploitation chain has three links:
User-Agent header, a chat message, a device name.The second link is what made this so brutal. Teams that assumed they were safe because their service "does not accept user input" discovered they were logging request metadata, error strings, and headers all along. Exposure surfaced in places nobody had modeled.
Technical summary:
| Field | Detail |
|---|---|
| CVE | CVE-2021-44228 |
| CVSS v3.1 | 10.0 (Critical) — the maximum |
| Affected | log4j-core 2.0-beta9 through 2.14.1 |
| Preconditions | None. Unauthenticated, no user interaction |
| Fully remediated at | 2.17.1 (Java 8); backports 2.12.4 (Java 7), 2.3.2 (Java 6) |
| Discovered by | Chen Zhaojun, Alibaba Cloud Security Team |
Note the "fully remediated" row. The first fix, 2.15.0, was incomplete under non-default configurations. A cluster of follow-on issues arrived over the next three weeks — CVE-2021-45046, CVE-2021-45105, CVE-2021-44832 — plus CVE-2021-4104 affecting the separate, end-of-life Log4j 1.x line. Organizations that patched once in mid-December and declared victory often shipped a partial fix. The Cyber Safety Review Board later identified this churn as a direct contributor to patching fatigue and confusion about authoritative guidance.
| Date (2021) | Event |
|---|---|
| 24 Nov | Chen Zhaojun reports the flaw to the Apache Software Foundation |
| ~1 Dec | Earliest evidence of in-the-wild exploitation, established retrospectively |
| 6 Dec | Apache releases 2.15.0 — later found incomplete |
| 9 Dec | Proof-of-concept published; mass scanning begins the same day |
| 10 Dec | CISA issues public guidance; Cloudflare peaks at ~20k exploit requests/min |
| 11–13 Dec | ONUS compromised via a third-party payment server |
| 13 Dec | Modified public exploit released; adopted by APT operators within days |
| 16 Dec | Belgian Ministry of Defense detects intrusion |
| 20 Dec | Conti becomes the first major ransomware operation to weaponize Log4Shell |
| 23 Dec | Deadline under CISA Emergency Directive 22-02 for US federal civilian agencies |
This is where most coverage goes wrong, so it is worth drawing a hard line. "Ran a vulnerable version" and "was breached" are different claims. The first list below is a list of products and services that were confirmed to contain the vulnerable Log4j. The second is confirmed intrusions.
Within days of disclosure, researchers and vendors confirmed vulnerable Log4j in services and products from:
Microsoft stated that beyond the initial Minecraft disclosure, it was not aware of the impact on the security of its enterprise services. Cloudflare said it had patched and found no evidence of exploitation. Most large platforms landed in the same place: exposed, then remediated, without a confirmed compromise. That outcome is worth naming, because it was earned by fast, expensive incident response — not by luck.
The reason the list runs this long is not that these organizations were careless. Log4j appears overwhelmingly as a transitive dependency — pulled in by something else, three or four layers down, invisible to teams scanning only their own manifests. Most affected organizations did not deploy Log4j. They inherited it.
| Organization | What happened |
|---|---|
| Belgian Ministry of Defence | Detected an intrusion on its internet-facing network on 16 December 2021. Parts of the network, including email, were down for several days; the ministry described quarantine measures to isolate affected segments. The first NATO-member defense ministry known to fall to Log4Shell. Attribution was never made public. |
| US Merit Systems Protection Board (FCEB agency) | CISA and the FBI disclosed in November 2022 that Iranian government-sponsored actors gained access via an unpatched VMware Horizon server as early as February 2022 — two months after patches shipped. The operators deployed XMRig cryptomining software, harvested credentials with Mimikatz, moved laterally to the domain controller using PsExec and RDP, and planted Ngrok reverse proxies for persistence. The Washington Post subsequently identified the agency. |
| ONUS (Vietnamese crypto exchange) | Attackers exploited Log4Shell in a third-party Cyclos payment server between 11 and 13 December 2021. The vulnerable host was a sandbox system — but a misconfiguration exposed AWS credentials, allowing the attackers to access S3 buckets containing production data. Roughly two million customer records were exfiltrated, including KYC identity documents and selfie-verification videos. ONUS refused a $5 million extortion demand and publicly disclosed that the data had been listed for sale on 25 December. |
| Unnamed large academic institution | CrowdStrike's OverWatch team observed the China-linked group Aquatic Panda using a modified Log4Shell exploit against a VMware Horizon Tomcat server, attempting to disable EDR before staging reverse shells and credential harvesting. Detected and contained. |
The confirmed breach list is shorter than the December 2021 panic implied. That is a real finding, not an omission — but read it with a caveat. Breach disclosure is voluntary in most sectors, the initial access vector is rarely published, and Log4Shell's characteristic pattern was persistent rather than having an immediate impact. The ONUS case is instructive: a sandbox server, a vendor's product, and a misconfiguration in an adjacent system did the actual damage.
Adoption was fast and stratified across the entire threat ecosystem:
Note the recurring cryptominer. For an initial-access vector this powerful, XMRig is an oddly low-value payload — and it points to how much of the exploitation was untargeted volume rather than deliberate operations against specific victims.
In July 2022, the newly formed Cyber Safety Review Board published its inaugural report on Log4j after engaging with roughly 80 organizations. Its central conclusion: this is an endemic vulnerability, and vulnerable instances will persist in systems for many years — the Board's own framing was a decade or longer. It issued 19 recommendations, weighted heavily toward asset inventory, SBOM adoption, and sustained investment in open-source maintenance.
The Board also recorded something less quoted: exploitation ran below what most experts had forecast, and it found no significant Log4j-driven attacks on critical infrastructure.
VulnCheck went further in a 2023 retrospective, arguing the response was disproportionate — of roughly 125,000 internet-facing hosts running potentially exploitable software, about 95% were already on patched versions two years in, and genuine initial-access targets had become scarce.
Both positions can hold. Log4Shell was less catastrophic than the December 2021 headlines predicted, and it remains the clearest demonstration to date of how a single transitive dependency can put an entire ecosystem into simultaneous incident response. The interesting question was never how bad the first month was. It is why the tail is this long.
The measured picture, from four independent sources:
That last figure should be read as one vendor's telemetry from one sector in one country, not a global baseline. But the direction is consistent across all four: attackers are still probing, because the probes still land.
The underlying cause is structural, not technical. A fixed version has existed since December 2021. What has not existed, at most organizations, is a reliable answer to a deceptively simple question: where is this library, in everything we run, including the things our vendors ship us?
If you have not revisited Log4j since 2022, five actions are worth the time:
1. Verify the version, not the ticket. Confirm you are on 2.17.1 or later (or 2.12.4 / 2.3.2 on legacy Java). Many organizations closed their Log4Shell remediation at 2.15.0 or 2.16.0 and never returned. A closed Jira ticket is not evidence.
2. Scan binaries, not manifests. Log4j hides in shaded JARs, fat JARs, container-based images, vendor appliances, and OT systems. Dependency-manifest scanning entirely misses repackaged and partially modified instances.
3. Treat egress as your detection layer. Most application tiers have no legitimate reason to open outbound LDAP or RMI connections to the internet. Restricting that traffic breaks the exploitation chain at the resolution step, and alerting on it is often the fastest indicator that something is wrong. Pair it with WAF, API gateway, and reverse-proxy log review, and match loosely, because attackers moved past plain jndi:ldap strings within days in 2021.
4. Fix the pipeline, not just the artifact. Forty million vulnerable downloads in a single year means build systems are still pinned to vulnerable versions, and nothing is failing the build. Version pinning without a review cadence guarantees this recurs with the next Log4Shell-class disclosure.
5. Hunt, do not assume. CISA's guidance for organizations that did not patch promptly was blunt: assume compromise and look for it. That advice has not expired. Map activity to MITRE ATT&CK T1190 (Exploit Public-Facing Application) as the entry point, then expand into credential access, lateral movement, and persistence.
Log4Shell was never really a Log4j story. It was a story about not knowing what you run.
The organizations that recovered fastest in December 2021 were not the ones with the best patching tools. They were the ones who could answer, in hours rather than weeks, which of their systems contained a given library, including the systems they had bought rather than built. Every regulatory response since, from the SBOM mandates in Executive Order 14028 to NIS2 and the EU Cyber Resilience Act, has been an attempt to force that capability into existence.
The next Log4Shell will arrive in a dependency nobody in your organization has heard of. The work that makes it survivable is the inventory work, and it has to be done before the disclosure, not after.
Why Organizations Choose Zaxtron
Organizations face increasingly sophisticated ransomware campaigns that exploit unpatched systems, stolen credentials, exposed remote access, and third-party weaknesses. To stay protected, they need actionable intelligence, not just alerts, to identify and reduce cyber risks before disruption occurs. Zaxtron provides Cybersecurity Risk Management, AI Risk Management, and Cyber Threat Intelligence services that deliver continuous visibility and risk-based insights. By combining attack surface intelligence, vulnerability data, threat and breach intelligence, and third-party risk analysis, Zaxtron offers a complete view of cyber exposure. This helps security leaders respond to threats, improve vendor security, and make informed decisions. Contact Zaxtron to strengthen cyber resilience today.
Zaxtron Technology conducts open-source threat research. This post is based entirely on public, attributable sources; no first-party telemetry is claimed.
Cookie preferences