CVE-2021-2394 Overview
CVE-2021-2394 is a critical insecure deserialization vulnerability affecting Oracle WebLogic Server, a widely deployed Java EE application server within Oracle Fusion Middleware. The vulnerability exists in the Core component and allows unauthenticated attackers with network access to completely compromise affected WebLogic Server instances via the T3 or IIOP protocols. Successful exploitation can result in full server takeover, enabling attackers to gain complete control over confidentiality, integrity, and availability of the system.
Critical Impact
Unauthenticated remote attackers can achieve complete server takeover of Oracle WebLogic Server instances via T3 or IIOP protocols without any user interaction required.
Affected Products
- Oracle WebLogic Server 10.3.6.0.0
- Oracle WebLogic Server 12.1.3.0.0
- Oracle WebLogic Server 12.2.1.3.0
- Oracle WebLogic Server 12.2.1.4.0
- Oracle WebLogic Server 14.1.1.0.0
Discovery Timeline
- July 21, 2021 - CVE-2021-2394 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2021-2394
Vulnerability Analysis
This vulnerability represents a severe security flaw in Oracle WebLogic Server's handling of serialized Java objects received through the T3 and IIOP protocols. The T3 protocol is Oracle's proprietary protocol used for communication between WebLogic Server instances and Java clients, while IIOP (Internet Inter-ORB Protocol) is used for CORBA-based communication.
The vulnerability allows unauthenticated attackers to send specially crafted serialized objects to the WebLogic Server, which are then deserialized without proper validation. Because no authentication is required and the attack can be executed remotely over the network, the exposure risk is significant for any WebLogic Server with T3 or IIOP protocols accessible from untrusted networks.
Root Cause
The root cause of CVE-2021-2394 lies in improper input validation during the deserialization process within the WebLogic Core component. When processing incoming data via the T3 or IIOP protocols, the server fails to adequately validate or sanitize serialized objects before deserializing them. This allows attackers to inject malicious serialized payloads that, when deserialized, execute arbitrary code within the context of the WebLogic Server process. This is a classic example of an insecure deserialization vulnerability where untrusted data is processed without sufficient security controls.
Attack Vector
The attack is conducted remotely over the network, targeting WebLogic Server instances with exposed T3 (typically port 7001) or IIOP protocols. An attacker crafts a malicious serialized Java object payload designed to execute arbitrary commands upon deserialization. This payload is sent to the vulnerable WebLogic Server through the T3 or IIOP protocol.
The exploitation chain typically involves:
- Identifying a WebLogic Server with accessible T3/IIOP ports
- Crafting a serialized payload using known Java deserialization gadget chains
- Sending the payload to the target server's T3 or IIOP endpoint
- The server deserializes the malicious object, triggering code execution with the privileges of the WebLogic Server process
Because no authentication is required, any system with network access to the WebLogic Server's T3 or IIOP ports can potentially exploit this vulnerability.
Detection Methods for CVE-2021-2394
Indicators of Compromise
- Unusual network traffic on T3 port (default 7001) or IIOP ports from external or untrusted IP addresses
- Unexpected child processes spawned by the WebLogic Server Java process
- Suspicious entries in WebLogic Server logs indicating deserialization errors or unusual object types
- Unauthorized file modifications or new files created in WebLogic Server directories
- Outbound network connections from the WebLogic Server to unknown external hosts
Detection Strategies
- Deploy network intrusion detection rules to monitor for T3/IIOP protocol traffic containing known deserialization attack patterns
- Implement application-level monitoring to detect unusual deserialization activity within WebLogic Server
- Configure SIEM rules to alert on suspicious WebLogic Server process behavior such as spawning shell processes
- Enable detailed logging on WebLogic Server and monitor for deserialization-related errors or exceptions
Monitoring Recommendations
- Continuously monitor WebLogic Server access logs for connections from untrusted networks
- Implement network segmentation monitoring to ensure T3/IIOP protocols are not accessible from untrusted zones
- Deploy endpoint detection and response (EDR) solutions to monitor WebLogic Server hosts for post-exploitation activity
- Establish baseline behavior for WebLogic Server processes and alert on deviations
How to Mitigate CVE-2021-2394
Immediate Actions Required
- Apply the Oracle Critical Patch Update (CPU) from July 2021 immediately to all affected WebLogic Server instances
- Restrict network access to T3 and IIOP ports using firewall rules, allowing only trusted hosts and networks
- Consider disabling T3 and IIOP protocols entirely if they are not required for your deployment
- Implement network segmentation to isolate WebLogic Server instances from untrusted networks
Patch Information
Oracle has released patches addressing this vulnerability as part of the July 2021 Critical Patch Update. Administrators should download and apply the appropriate patches for their WebLogic Server version from Oracle's support portal. All supported versions (10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, and 14.1.1.0.0) have patches available.
Workarounds
- Block external access to T3 protocol ports (typically 7001, 7002) using network firewalls or security groups
- Disable the IIOP protocol if not required by setting the weblogic.server.enable.iiop configuration option to false
- Configure WebLogic Server connection filters to restrict T3 connections to trusted IP addresses only
- Deploy a web application firewall (WAF) or reverse proxy in front of WebLogic Server to filter malicious requests
# Configuration example - WebLogic Connection Filter to restrict T3 access
# Add to config.xml within the <server> element to allow only trusted networks
# Location: DOMAIN_HOME/config/config.xml
# Example connection filter rules (apply via WebLogic Admin Console):
# Rule 1: Allow T3 from internal network only
# * 10.0.0.0/8 * allow t3 t3s
# * 172.16.0.0/12 * allow t3 t3s
# * 192.168.0.0/16 * allow t3 t3s
# * * * deny t3 t3s
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

