Log4j 2 · Version Status

Log4j 2 End of Life Date

Log4j 2 end-of-life date, support status, and CVE risk. Data from endoflife.date and official vendor documentation.

Log4j 2 is actively supported. EOL date: Already EOL.
EOL Date
Already EOL
Supported
Latest Release
2.25.4
Standard release
Release Date
Jul 12, 2014
Log4j 2 series
← Log4j 1 All Log4j versions Log4j 2.3 →
All Log4j Versions
VersionLatestEOL DateStatus
1 1.2.17 Oct 15, 2015 EOL
2.3 2.3.2 Sep 20, 2015 EOL
2.12 2.12.4 Dec 14, 2021 EOL
2 2.25.4 EOL Active

What does Log4j 2 end of life mean?

When Log4j 2 reaches end of life, the maintainers stop issuing security patches for this version. CVEs discovered after the EOL date are publicly disclosed on the National Vulnerability Database with no patch available. Exploit code frequently appears on GitHub within days of disclosure.

The CVE blind spot: Most vulnerability scanners check for known CVEs but do not flag the ongoing accumulation of unpatched vulnerabilities in EOL software versions. Running Log4j 2 past its EOL date creates a permanently growing attack surface that standard security tooling will not surface.

Migrate to Log4j 2 or implement compensating controls — network segmentation, enhanced monitoring, restricted access — while migration is underway.

Frequently Asked Questions
When does Log4j 2 reach end of life?
Log4j 2 has already reached end of life.
Is Log4j 2 still supported?
Yes, Log4j 2 is currently supported. The EOL date is Already EOL.
What should I upgrade to from Log4j 2?
The recommended upgrade from Log4j 2 is Log4j 2 — the latest actively supported version. Check the Log4j full timeline for all supported versions.
What are the security risks of running Log4j 2 past EOL?
When Log4j 2 reaches end of life, the maintainers stop issuing security patches. Any CVEs disclosed after the EOL date accumulate with no remediation path. Most vulnerability scanners do not flag this — it is the CVE blind spot. Organizations running EOL Log4j should migrate immediately or implement compensating controls.
Data from endoflife.date API · Generated at build time · How we source data →