Wavense
VulnerabilitiesVendorsMy Stack
Wavense© 2026 Wavense. All rights reserved.Privacy PolicyTerms & Conditions
Vulnerabilities/CVE-2021-45046
Vulnerability dossier

CVE-2021-45046

Apache Log4j 2.15.0 Incomplete Fix RCE Vulnerability

VendorsiemensPublishedDec 14, 2021SourceNVDWeaknessCWE-917
Act now

Actively exploited in the wild. Patch or mitigate immediately — don't wait for a maintenance window.

⚙ WeaponizedMetasploit module availableopen ↗
Severity
Critical · 9.0
CVSS base score
Exploitation
In the wild
CISA KEV · Metasploit
Predicted risk
100% model
EPSS forecast — overtaken by confirmed exploitation
Exposure
Internet-facing
Exploitable remotely, no login, no user action
01

What's the risk?

An unauthenticated attacker, remotely over the network, with no user interaction, can fully compromise the system — steal data, tamper with it and take it offline.

It was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allows attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-default Pattern Layout with either a Context Lookup (for example, $${ctx:loginId}) or a Thread Context Map pattern (%X, %mdc, or %MDC) to craft malicious input data using a JNDI Lookup pattern resulting in an information leak and remote code execution in some environments and local code execution in all environments. Log4j 2.16.0 (Java 8) and 2.12.2 (Java 7) fix this issue by removing support for message lookup patterns and disabling JNDI functionality by default.

How it's exploitedMITRE ATT&CK · 1 observed in the wild
Initial Access
T1190
Exploit Public-Facing Application
Execution
T1059Command and Scripting Interpreterobserved

Techniques marked “observed” are corroborated by threat intelligence; the rest are inferred from the weakness type (CWE) and attack vector.

02

Who's exploiting it?

Corroborated threat activity referencing this CVE — with source and confidence, not inference.

Confirmed exploited in the wild. CISA KEV · catalogued May 1, 2023
campaignRansomware campaigns90CISA KEV
Observed techniques MITRE-analysed · CTID Mappings Explorer
T1059Command and Scripting InterpreterobservedT1486Data Encrypted for Impactobserved

These techniques were analysed against this CVE's real-world exploitation — the matching entries in the ATT&CK chain above are marked “observed”.

03

Are we affected?

90
  • Affectedapache · log4jall versions
  • Affectedapache · log4jall versions
  • Affectedapache · log4j2.0
  • Affectedapache · log4j2.0
  • Affectedapache · log4j2.0
  • Affectedapache · log4j2.0
  • Affectedcvat · computer_vision_annotation_toolall versions
  • Affecteddebian · debian_linux11.0
  • Affecteddebian · debian_linux10.0
  • Affectedfedoraproject · fedora34
  • Affectedfedoraproject · fedora35
  • Affectedintel · audio_development_kitall versions
  • Affectedintel · datacenter_managerall versions
  • Affectedintel · genomics_kernel_libraryall versions
  • Affectedintel · oneapiall versions
  • Affectedintel · secure_device_onboardall versions
  • Affectedintel · sensor_solution_firmware_development_kitall versions
  • Affectedintel · system_debuggerall versions
  • Affectedintel · system_studioall versions
  • Affectedsiemens · 6bk1602-0aa12-0tp0_firmwareall versions
  • Affectedsiemens · 6bk1602-0aa22-0tp0_firmwareall versions
  • Affectedsiemens · 6bk1602-0aa32-0tp0_firmwareall versions
  • Affectedsiemens · 6bk1602-0aa42-0tp0_firmwareall versions
  • Affectedsiemens · 6bk1602-0aa52-0tp0_firmwareall versions
  • Affectedsiemens · captialall versions
  • Affectedsiemens · captial2019.1
  • Affectedsiemens · captial2019.1
  • Affectedsiemens · comosall versions
  • Affectedsiemens · desigo_cc_advanced_reports5.1
  • Affectedsiemens · desigo_cc_advanced_reports4.0
  • Affectedsiemens · desigo_cc_advanced_reports4.1
  • Affectedsiemens · desigo_cc_advanced_reports4.2
  • Affectedsiemens · desigo_cc_advanced_reports5.0
  • Affectedsiemens · desigo_cc_info_center5.0
  • Affectedsiemens · desigo_cc_info_center5.1
  • Affectedsiemens · e-car_operation_centerall versions
  • Affectedsiemens · energy_engage3.1
  • Affectedsiemens · energyip8.5
  • Affectedsiemens · energyip8.6
  • Affectedsiemens · energyip8.7
  • Affectedsiemens · energyip9.0
  • Affectedsiemens · energyip_prepay3.8
  • Affectedsiemens · energyip_prepay3.7
  • Affectedsiemens · gma-managerall versions
  • Affectedsiemens · head-end_system_universal_device_integration_systemall versions
  • Affectedsiemens · industrial_edge_managementall versions
  • Affectedsiemens · industrial_edge_management_huball versions
  • Affectedsiemens · logo\!_soft_comfortall versions
  • Affectedsiemens · mendixall versions
  • Affectedsiemens · mindsphereall versions
  • Affectedsiemens · navigatorall versions
  • Affectedsiemens · nxall versions
  • Affectedsiemens · opcenter_intelligenceall versions
  • Affectedsiemens · operation_schedulerall versions
  • Affectedsiemens · sentron_powermanager4.1
  • Affectedsiemens · sentron_powermanager4.2
  • Affectedsiemens · siguard_dsa4.4
  • Affectedsiemens · siguard_dsa4.3
  • Affectedsiemens · siguard_dsa4.2
  • Affectedsiemens · sipass_integrated2.85
04

What to do

Generated by Wavense from the CVE record — an immediate mitigation and the permanent fix.

  1. !

    Mitigate now

    Prior to patching, administrators should disable JNDI lookups entirely or ensure logging configurations do not use non-default Pattern Layouts with Context Lookups or Thread Context Map patterns. Restrict outbound network connections from Log4j-dependent applications, particularly to LDAP or RMI services, to prevent remote code loading. Enhance monitoring for unusual outbound network traffic originating from applications using Log4j.

  2. ✓

    Permanent fix

    The permanent fix involves upgrading to Apache Log4j version 2.16.0 for Java 8 applications, or 2.12.2 for Java 7 applications. These versions resolve the vulnerability by completely removing support for message lookup patterns and disabling JNDI functionality by default. Ensure all affected Log4j 2.15.0 instances are upgraded immediately to prevent further exploitation.

Technical details— weakness, CVSS vector & calculator, related CVEs

Business impact

An attacker can exploit this vulnerability by crafting malicious JNDI Lookup patterns within application logging inputs, leading to sensitive information disclosure. This can result in remote code execution (RCE) in certain environments, granting full control over the compromised system, and local code execution in all affected environments. Successful exploitation can lead to data breaches, system compromise, service disruption, and significant reputational and financial damage.

Weakness

1
CWE-917Common Weakness Enumeration · MITRE definition

CVSS 3.1 details

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
0.0
/ 10.0 base
Critical severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Exploitability metrics
Attack VectorAV
Remotely exploitable across a network
Attack ComplexityAC
Depends on conditions beyond attacker control
Privileges RequiredPR
No authorization needed
User InteractionUI
No user participation needed
Impact metrics
ScopeS
Impact extends to other components
ConfidentialityC
Total loss of confidentiality
IntegrityI
Total loss of integrity
AvailabilityA
Total loss of availability

Related vulnerabilities

Other CVEs affecting log4j

NVD
10.0Critical
CVE-2025-32433KEV⚙ WeaponizedExploit likely

Erlang/OTP is a set of libraries for the Erlang programming language. Prior to versions OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20, a SSH server may allow an attacker to perform unauthenticated remote code execution (RCE). By exploiting a flaw in SSH protocol message handling, a malicious actor could gain unauthorized access to affected systems and execute arbitrary commands without valid credentials. This issue is patched in versions OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20. A temporary workaround involves disabling the SSH server or to prevent access via firewall rules.

ciscoCWE-306Missing AuthenticationNetworkLow effortNo authNo interactionCIA
2025-04-16
NVD
10.0Critical
CVE-2025-24201KEV

An out-of-bounds write issue was addressed with improved checks to prevent unauthorized actions. This issue is fixed in Safari 18.3.1, iOS 15.8.4 and iPadOS 15.8.4, iOS 16.7.11 and iPadOS 16.7.11, iOS 18.3.2 and iPadOS 18.3.2, iPadOS 17.7.6, macOS Sequoia 15.3.2, visionOS 2.3.2, watchOS 11.4. Maliciously crafted web content may be able to break out of Web Content sandbox. This is a supplementary fix for an attack that was blocked in iOS 17.2. (Apple is aware of a report that this issue may have been exploited in an extremely sophisticated attack against specific targeted individuals on versions of iOS before iOS 17.2.).

appleCWE-787Out-of-bounds WriteNetworkLow effortNo authNo interactionCIA
2025-03-11
NVD
10.0Critical
CVE-2023-46604KEV⚙ WeaponizedExploit likely

The Java OpenWire protocol marshaller is vulnerable to Remote Code Execution. This vulnerability may allow a remote attacker with network access to either a Java-based OpenWire broker or client to run arbitrary shell commands by manipulating serialized class types in the OpenWire protocol to cause either the client or the broker (respectively) to instantiate any class on the classpath. Users are recommended to upgrade both brokers and clients to version 5.15.16, 5.16.7, 5.17.6, or 5.18.3 which fixes this issue.

apacheCWE-502Deserialization of Untrusted DataNetworkLow effortNo authNo interactionCIA
2023-10-27
NVD
10.0Critical
CVE-2021-44228KEV⚙ WeaponizedExploit likely

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.

ciscoCWE-20Improper Input ValidationNetworkLow effortNo authNo interactionCIA
2021-12-10
NVD
10.0Critical
CVE-2015-3306KEV⚙ WeaponizedExploit likely

The mod_copy module in ProFTPD 1.3.5 allows remote attackers to read and write to arbitrary files via the site cpfr and site cpto commands.

fedoraprojectCWE-284Improper Access ControlNetworkLow effortNo authNo interactionCIA
2015-05-18
NVD
9.9Critical
CVE-2025-49113KEV⚙ WeaponizedExploit likely

Roundcube Webmail before 1.5.10 and 1.6.x before 1.6.11 allows remote code execution by authenticated users because the _from parameter in a URL is not validated in program/actions/settings/upload.php, leading to PHP Object Deserialization.

roundcubeCWE-502Deserialization of Untrusted DataNetworkLow effortLow privNo interactionCIA
2025-06-02
NVD
9.8Critical
CVE-2026-24061KEV⚙ WeaponizedExploit likely

telnetd in GNU Inetutils through 2.7 allows remote authentication bypass via a "-f root" value for the USER environment variable.

gnuCWE-88Argument InjectionNetworkLow effortNo authNo interactionCIA
2026-01-21
NVD
9.8Critical
CVE-2025-39682KEV

In the Linux kernel, the following vulnerability has been resolved: tls: fix handling of zero-length records on the rx_list Each recvmsg() call must process either - only contiguous DATA records (any number of them) - one non-DATA record If the next record has different type than what has already been processed we break out of the main processing loop. If the record has already been decrypted (which may be the case for TLS 1.3 where we don't know type until decryption) we queue the pending record to the rx_list. Next recvmsg() will pick it up from there. Queuing the skb to rx_list after zero-copy decrypt is not possible, since in that case we decrypted directly to the user space buffer, and we don't have an skb to queue (darg.skb points to the ciphertext skb for access to metadata like length). Only data records are allowed zero-copy, and we break the processing loop after each non-data record. So we should never zero-copy and then find out that the record type has changed. The corner case we missed is when the initial record comes from rx_list, and it's zero length.

linuxCWE-754Improper Check for Unusual ConditionsNetworkLow effortNo authNo interactionCIA
2025-09-05
0.0
/ 10.0 base
Critical severity
Key facts
CVE ID
CVE-2021-45046
Published
Dec 14, 2021
Last modified
Oct 27, 2025
CVSS
9.0 (v3.1)
EPSS
99.98%
In CISA KEV
Yes
Confidence
100/100
Weakness
CWE-917
Timeline
  1. Dec 14, 2021Published to NVDNVD
  2. Oct 27, 2025Record last modifiedNVD
  3. Oct 1, 2026AI analysis generatedWavense
View on NVD