CVE-2021-4104 Apache Log4j
| Affected software | Apache Log4j |
|---|---|
| Severity | 7.5 High CVSS 3.1 3 scores |
| Weakness | Deserialization of untrusted data (CWE-502) |
| Published | 14 Dec 2021 |
| Updated | 13 Nov 2026 |
Description
JMSAppender in Log4j 1.2 is vulnerable to deserialization of untrusted data when the attacker has write access to the Log4j configuration. The attacker can provide TopicBindingName and TopicConnectionFactoryBindingName configurations causing JMSAppender to perform JNDI requests that result in remote code execution in a similar fashion to CVE-2021-44228. Note this issue only affects Log4j 1.2 when specifically configured to use JMSAppender, which is not the default. Apache Log4j 1.2 reached end of life in August 2015. Users should upgrade to Log4j 2 as it addresses numerous other issues from the previous versions.
Exploitation status
Exploited
Real-world exploitation reported by VulnCheck KEV. CISA has not confirmed it.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV listed Exploitation reported in the wild. 3 citations · 1 exploit · earliest 2022-04-26.
- CISA Vulnrichment exploitation: none
- Indexed PoC 2 indexed Published artifacts you can open, in GitHub PoC; first seen 2021-12-14.
- EPSS 81% chance in 30 days A model's forecast, not a report of exploitation. Higher than 99.6% of all scored CVEs.
VulnCheck KEV
Exploitation evidence from VulnCheck Known Exploited Vulnerabilities (VulnCheck KEV), used under VulnCheck's community terms. View CVE-2021-4104 in VulnCheck (free account).
| Evidence | Source | Detail | Date |
|---|---|---|---|
| Reported exploitation | pwc.com | /gx/en/issues/cybersecurity/cyber-threat-intelligence/cyber-year-in-retrospect/yir-cyber-threats-annex-download.pdf | 2022-04-26 |
| Reported exploitation | secureworks.com | /research/gold-melody-profile-of-an-initial-access-broker | 2023-09-20 |
| Reported exploitation | secureworks.com | /research/threat-profiles/gold-melody | 2023-09-21 |
| Exploit reference | VulnCheck XDB 20fe098db6e5 | Exploit type: local | 2021-12-14 |
| Index | Artifact | Stars | First seen |
|---|---|---|---|
| GitHub PoC | log4j 1.x RCE Poc -- CVE-2021-4104 | 20 | 2021-12-14 |
| GitHub PoC | Log4j version 1.2.17 without the offending class responsible for CVE-2021-4104. | 2022-01-10 |
Waratek protection
Waratek has a rule that blocks attacks on this vulnerability.
- Protection full Deserialization, Process, Filesystem, Socket
- Action available patch rule
- Review human ARMR file
- Record active
| Decided by | An ARMR patch file on disk for this CVE |
|---|---|
| Finding | CVE has an ARMR patch rule that provides mitigation |
ARMR rule files
1 fileThe rule files Waratek ships for this CVE. Some CVEs need more than one, for example one per affected library or one per ARMR version.
CVE-2021-4104.armr patch rule, ARMR 2.6 added 2021-12-15 updated 2026-03-04Waratek research note
written 2026-11-13Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.
Comments
Rule Name: file rule & deserial sys rule, Marshal RCE rule, Process rule and Deserial RCE rule, mitigated by set of File, Socket and Deserialization rules
Rule example
app("File read protect mod"):
requires(version: ARMR/2.8)
filesystem("Protect read access in specific directory"):
read("/tmp/*")
protect(message: "Unauthorized file read blocked", severity: 8)
endfilesystem
endapp
app("myapp"):
requires(version: ARMR/2.8)
marshal("protect the app from remote-code-execution attack"):
deserialize(java)
rce()
protect(message: "the logging message", severity: Low)
endmarshal
endapp
app("Socket Client Bind Mod Multiple Rules"):
requires(version: ARMR/2.8)
socket("Socket bind protect all"):
bind(client: "0.0.0.0:0")
protect(message: "Socket rule protect 0.0.0.0:0", severity: High)
endsocket
socket("Socket bind allow specific"):
bind(client: "127.0.0.1:5000")
allow(message: "Socket rule allow 127.0.0.1:5000", severity: Medium)
endsocket
endapp
How to mitigate CVE-2021-4104
Apply the vendor's fix for Apache Log4j. Until you can, Waratek RASP blocks exploitation with a rule written for this CVE. It runs inside the Java application, with no code changes.
CVSS
7.5 HIGH
v3.1 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
3 metrics
CVSS
7.5 HIGH v3.1CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
3 metrics
We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| CVSS 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
NVD | Primary | published |
| CVSS 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
CISA-ADP | Secondary | |
| CVSS 2.0 | 6.0 | none | AV:N/AC:M/Au:S/C:P/I:P/A:P |
NVD | Primary |
Affected software and releases
Oracle advisories
| Advisory | Type | Quarter | Products Oracle names in its risk matrix |
|---|---|---|---|
| Oracle Critical Security Patch Update August 2026 ↗ | CSPU | 2026-Q3 | Oracle Hyperion / Common Events (Apache Log4j) (11.2.25.0.000) |
| Oracle Critical Patch Update January 2024 ↗ | CPU | 2024-Q1 | Oracle Communications Applications / Security (Apache Log4j) (7.4.0, 7.4.1) |
| Oracle Critical Patch Update July 2023 ↗ | CPU | 2023-Q3 | Oracle Fusion Middleware / Web Console Design (Apache Log4j) (12.2.1.4.0) |
| Oracle Critical Patch Update April 2023 ↗ | CPU | 2023-Q2 | Oracle Utilities Applications / General (Apache Log4j) (4.2.0.3.0) |
| Oracle Critical Patch Update October 2022 ↗ | CPU | 2022-Q4 | Oracle Enterprise Manager / Application Service Level Management (Apache Log4j) (13.4.0.0) |
| Oracle Critical Patch Update January 2022 ↗ | CPU | 2022-Q1 | Oracle Fusion Middleware / Centralized Thirdparty Jars (Apache Log4j) (12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0) Oracle Retail Applications / General (Apache Log4j) (14.1.3.2, 15.0.3.1, 16.0.3, 19.0.1) Oracle Utilities Applications / Tools (Apache Log4j) (6.0.0.1.1, 6.0.0.2.2, 6.0.0.3.1) |
Oracle components and versions
| Family | Component | Versions, as Oracle lists them | Read as |
|---|---|---|---|
| Oracle Communications Applications | Security (Apache Log4j) | 7.4.0, 7.4.1 | 7.4.0 · 7.4.1 |
| Oracle Enterprise Manager | Application Service Level Management (Apache Log4j) | 13.4.0.0 | 13.4.0.0 |
| Oracle Fusion Middleware | Centralized Thirdparty Jars (Apache Log4j) | 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0 | 12.1.3.0.0 · 12.2.1.3.0 · 12.2.1.4.0 · 14.1.1.0.0 |
| Oracle Fusion Middleware | Web Console Design (Apache Log4j) | 12.2.1.4.0 | 12.2.1.4.0 |
| Oracle Hyperion | Common Events (Apache Log4j) | 11.2.25.0.000 | 11.2.25.0.0 |
| Oracle Retail Applications | General (Apache Log4j) | 14.1.3.2, 15.0.3.1, 16.0.3, 19.0.1 | 14.1.3.2 · 15.0.3.1 · 16.0.3 · 19.0.1 |
| Oracle Utilities Applications | General (Apache Log4j) | 4.2.0.3.0 | 4.2.0.3.0 |
| Oracle Utilities Applications | Tools (Apache Log4j) | 6.0.0.1.1, 6.0.0.2.2, 6.0.0.3.1 | 6.0.0.1.1 · 6.0.0.2.2 · 6.0.0.3.1 |
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
log4j:log4j |
1.2.0 | none | 1.2.17 |
org.zenframework.z8.dependencies.commons:log4j-1.2.17 |
0 | none | 2.0 |
Products and versions
48 products, 74 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| nvd | apache | log4j | generic | 1.2 |
| nvd | fedoraproject | fedora | generic | 35 |
| osv | log4j | log4j | generic | ≥ 1.2.0 and ≤ 1.2.17 |
| nvd | oracle | advanced supply chain planning | generic | 12.1 · 12.2 |
| nvd | oracle | business intelligence | generic | 5.9.0.0.0 · 12.2.1.3.0 · 12.2.1.4.0 |
| nvd | oracle | business process management suite | generic | 12.2.1.3.0 · 12.2.1.4.0 |
| nvd | oracle | communications eagle ftp table base retrieval | generic | 4.5 |
| nvd | oracle | communications messaging server | generic | 8.1 |
| nvd | oracle | communications network integrity | generic | 7.3.6 |
| nvd | oracle | communications offline mediation controller | generic | < 12.0.0.4.0 · 12.0.0.5.0 |
| nvd | oracle | communications unified inventory management | generic | 7.3.4 · 7.3.5 · 7.4.1 · 7.4.2 |
| nvd | oracle | e-business suite cloud manager and cloud backup module | generic | 2.2.1.1.1 |
| nvd | oracle | enterprise manager base platform | generic | 13.4.0.0 · 13.5.0.0 |
| nvd | oracle | financial services revenue management and billing analytics | generic | 2.7.0.0 · 2.7.0.1 · 2.8.0.0 |
| nvd | oracle | fusion middleware common libraries and tools | generic | 12.2.1.4.0 |
| nvd | oracle | goldengate | generic | any version |
| nvd | oracle | healthcare data repository | generic | 8.1.0 |
| nvd | oracle | hyperion data relationship management | generic | < 11.2.8.0 |
| nvd | oracle | hyperion infrastructure technology | generic | < 11.2.8.0 |
| nvd | oracle | identity management suite | generic | 12.2.1.3.0 · 12.2.1.4.0 |
| nvd | oracle | jdeveloper | generic | 12.2.1.3.0 |
| nvd | oracle | mysql enterprise monitor | generic | ≤ 8.0.29 |
| nvd | oracle | retail allocation | generic | 14.1.3.2 · 15.0.3.1 · 16.0.3 · 19.0.1 |
| nvd | oracle | retail extract transform and load | generic | 13.2.5 |
| nvd | oracle | stream analytics | generic | any version |
| nvd | oracle | timesten grid | generic | any version |
| nvd | oracle | tuxedo | generic | 12.2.2.0.0 |
| nvd | oracle | utilities testing accelerator | generic | 6.0.0.1.1 · 6.0.0.2.2 · 6.0.0.3.1 |
| nvd | oracle | weblogic server | generic | 12.2.1.3.0 · 12.2.1.4.0 · 14.1.1.0.0 |
| osv | org.zenframework.z8.dependencies.commons | log4j-1.2.17 | generic | ≤ 2.0 |
| nvd | redhat | codeready studio | generic | 12.0 |
| nvd | redhat | enterprise linux | generic | 6.0 · 7.0 · 8.0 |
| nvd | redhat | integration camel k | generic | any version |
| nvd | redhat | integration camel quarkus | generic | any version |
| nvd | redhat | jboss a-mq | generic | 6.0.0 · 7 |
| nvd | redhat | jboss a-mq streaming | generic | any version |
| nvd | redhat | jboss data grid | generic | 7.0.0 |
| nvd | redhat | jboss data virtualization | generic | 6.0.0 |
| nvd | redhat | jboss enterprise application platform | generic | 6.0.0 · 7.0 |
| nvd | redhat | jboss fuse | generic | 6.0.0 · 7.0.0 |
| nvd | redhat | jboss fuse service works | generic | 6.0 |
| nvd | redhat | jboss operations network | generic | 3.0 |
| nvd | redhat | jboss web server | generic | 3.0 |
| nvd | redhat | openshift application runtimes | generic | any version |
| nvd | redhat | openshift container platform | generic | 4.6 · 4.7 · 4.8 |
| nvd | redhat | process automation | generic | 7.0 |
| nvd | redhat | single sign-on | generic | 7.0 |
| nvd | redhat | software collections | generic | any version |
Earlier manual review
A reviewer classified this CVE in an older dataset. We kept the labels and products below, but not the reviewer's reasoning.
## Manual Classification Context **Labels:** HTTP, TOOLS (APACHE LOG4J), GENERAL (APACHE LOG4J), CENTRALIZED THIRDPARTY JARS (APACHE LOG4J) **Products:** ORACLE RETAIL APPLICATIONS, ORACLE WEBLOGIC SERVER, ORACLE UTILITIES TESTING ACCELERATOR, ORACLE RETAIL ALLOCATION, ORACLE UTILITIES APPLICATIONS, ORACLE FUSION MIDDLEWARE
References
Timeline
Timeline
| Published | 2021-12-14 | By the CVE Program. |
|---|---|---|
| ARMR remediation created | 2021-12-15 | Earliest commit adding this CVE's ARMR patch or security rule. |
| VulnCheck KEV: earliest evidence | 2022-04-26 | Date of the oldest evidence of exploitation in VulnCheck KEV's record. VulnCheck does not publish the date it listed the CVE. |
| VulnCheck KEV: latest evidence | 2023-09-21 | Date of the newest report, exploit reference or honeypot sighting in VulnCheck KEV's record. |
| ARMR remediation last updated | 2026-03-04 | Most recent commit touching this CVE's ARMR patch or security rule. |
| NVD record modified | 2026-06-17 | NVD's own last-modified date for this record. |
| Classification created | 2026-11-13 | First commit adding this CVE's research note. |
| Last VRT activity | 2026-11-13 | Most recent commit touching this CVE's classification, patch or rule file. |