CVE-2026-83021: Unauthenticated Remote Code Execution in Oracle WebLogic Server Web Container
HERMES THREAT SCORE & ENTERPRISE WEBLOGIC PERIMETER COLLAPSE
Target:Oracle WebLogic Server โ Core Web Container, Servlet Request Dispatcher & ClassLoader Subsystem Both CVSS v3.1 and Hermes award CVE-2026-83021 the maximum threat rating of 10.0 / EXTREME 100. Oracle WebLogic Server powers thousands of enterprise mission-critical web applications. The vulnerability resides in the core Web Container request parsing pipeline. An unauthenticated attacker can exploit path normalization and servlet dispatch flaws over plain HTTP to achieve immediate remote code execution without user interaction, deploying persistent web shells and pivoting into corporate internal networks.
HASS AGENTIC SEVERITY & JAVA APPLICATION CONTAINER BREACH
Target:Enterprise Java EE Application Server, Servlet Container & Domain Cluster Network Breaching the WebLogic Web Container grants attackers full authority to deploy rogue WAR web applications, inject malicious class bytecode into running JVM classloaders, and capture inbound HTTP transaction credentials across all enterprise applications hosted on the cluster.
CVE-2026-83021: Unauthenticated Remote Code Execution in Oracle WebLogic Server Web ContainerVULNERABILITY
Software platform affected by security vulnerabilities and agentic attack patterns.
๐ Why is this related? (Evidence & Provenance)
“Confirmed security vulnerability in Oracle WebLogic Server documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source: Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Reliability: VERY_HIGH)
1. Technical Context & Affected Software Matrix
Section titled โ1. Technical Context & Affected Software MatrixโOracle WebLogic Server is an enterprise Java EE application server widely deployed across Fortune 500 enterprises, telecommunications providers, and financial institutions.
| Parameter | Technical Specification | Operational Impact |
|---|---|---|
| CVE Identifier | CVE-2026-83021 | Oracle CSPU September 2026 Advisory |
| Vulnerability Class | Remote Code Execution (CWE-287 / CWE-20 / CWE-94) | Path traversal and unauthenticated servlet invocation |
| Affected Component | WebLogic Web Container (weblogic.servlet) | HTTP request processing pipeline on TCP 7001 / 7002 |
| Protocol / Port | HTTP / HTTPS (Default ports 7001, 7002, 80, 443) | Exposed on external corporate web gateways and reverse proxies |
| Authentication Required | None (PR:N) | Raw HTTP request without credentials or session cookies |
| User Interaction | None (UI:N) | Automated execution upon receiving malicious request |
| Scope Impact | Changed (S:C) | Extends to entire WebLogic domain cluster and database backends |
| Privileges Obtained | Complete Server Takeover | Arbitrary code execution under the oracle/weblogic account |
| Affected Versions | 12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0 | Active WebLogic Server production releases |
| Remediation Target | September 2026 Patch Set Update (PSU) | Install PSU via OPatch and restrict management endpoints |
2. Vulnerability Anatomy & Root Cause Analysis
Section titled โ2. Vulnerability Anatomy & Root Cause AnalysisโURI Normalization & Servlet Dispatch Flaw
Section titled โURI Normalization & Servlet Dispatch FlawโThe WebLogic Web Container is responsible for parsing HTTP request URIs, mapping them to registered servlet contexts, and applying security constraints (security-constraint elements in web.xml).
Prior to the September 2026 patch:
- A critical discrepancy existed between how the Web Container normalized URL paths containing specific matrix parameters, URL-encoded path traversal sequences (
..%2f), and double-encoded semicolons (%253b). - Security filters evaluating whether a request requires authentication inspected the un-normalized request URI, incorrectly determining that the request targeted a public or unprotected resource.
- However, when the internal servlet dispatcher routed the request to the target handler, it stripped the matrix parameters and resolved the normalized path, executing privileged internal deployment servlets (such as internal management, file-upload, or dynamic JSP compiler servlets) without requiring authentication.
- Attackers can leverage this bypass to write arbitrary
.jspweb shells into application docroots or directly invoke internal deployment classes to execute operating system commands.
POST /console/images/%2e%2e%253b/bea_wls_internal/classes/AppDeployer HTTP/1.1Host: wls.corp.internal:7001Content-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0
action=deploy&path=/tmp/backdoor.warThe server processes the request with administrative privileges, deploying the backdoor application and returning an active web shell URL to the attacker.
3. Attack Vector & Weaponization Mechanics
Section titled โ3. Attack Vector & Weaponization MechanicsโsequenceDiagram autonumber actor Attacker as Remote Attacker (Unauthenticated) participant WLS as WebLogic Front-End (Port 7001) participant Container as Web Container (URI Normalization) participant Dispatcher as Internal Servlet Dispatcher participant FS as Host Filesystem (tmp/_WL_user/)
Attacker->>WLS: Send crafted HTTP POST with path traversal bypass (CVE-2026-83021) WLS->>Container: Evaluate security constraints against un-normalized URI Container->>Container: Bypasses authentication filter (treats as public image path) Container->>Dispatcher: Route normalized request to internal deployment servlet Dispatcher->>FS: Drop malicious JSP web shell into docroot (/tmp/_WL_user/...) FS-->>Attacker: Return HTTP 200 OK (Web shell path confirmed) Attacker->>FS: Request web shell (/bea_wls_internal/shell.jsp?cmd=whoami) FS-->>Attacker: Execute arbitrary commands under 'oracle' user context4. Detection Engineering & Threat Hunting
Section titled โ4. Detection Engineering & Threat Huntingโtitle: WebLogic Web Container Path Traversal RCE Attemptid: cve-2026-83021-wls-rcestatus: productiondescription: Detects path traversal and matrix parameter bypass patterns targeting WebLogic internal servlets.references: - https://www.oracle.com/security-alerts/cspusep2026.htmlauthor: Hermes Codex DFIR Teamdate: 2026-09-17modified: 2026-09-22logsource: category: webserver product: oracle_weblogicdetection: selection: cs-method: 'POST' cs-uri-stem|contains: - 'bea_wls_internal' - 'console' cs-uri-stem|re: '(%2e%2e|%253b|\.\.;|/\.\./)' condition: selectionfalsepositives: - None expected for this specific traversal signaturelevel: criticaltags: - attack.initial_access - attack.t1190 - attack.persistence - attack.t1505.003alert http any any -> any [7001,7002,80,443] ( msg:"HERMES THREAT - Oracle WebLogic Web Container Path Traversal RCE (CVE-2026-83021)"; flow:to_server,established; content:"POST"; http_method; pcre:"/(%2e%2e%253b|\.\.;.*bea_wls_internal|%252e%252e)/i"; threshold:type limit, track by_src, count 1, seconds 60; reference:cve,2026-83021; reference:url,www.oracle.com/security-alerts/cspusep2026.html; classtype:attempted-admin; sid:202683021; rev:2;)rule WebLogic_Dropped_Webshell_CVE_2026_83021 { meta: description = "Detects JSP web shells dropped into WebLogic temporary extraction directories" author = "Hermes Codex DFIR Team" reference = "CVE-2026-83021" date = "2026-09-17" strings: $jsp1 = "<%@ page import=" ascii $jsp2 = "ProcessBuilder" ascii $jsp3 = "Runtime.getRuntime().exec" ascii $jsp4 = "request.getParameter(" ascii $jsp5 = "ByteArrayOutputStream" ascii condition: filesize < 500KB and ($jsp1 and ($jsp2 or $jsp3) and $jsp4 and $jsp5)}5. Forensic Investigation & Incident Response Playbook
Section titled โ5. Forensic Investigation & Incident Response PlaybookโWhen investigating suspected exploitation of CVE-2026-83021:
- WebLogic HTTP Access Log Triage:
Examine access logs under
$DOMAIN_HOME/servers/<server_name>/logs/access.log:Identify the originating IP address and all subsequent requests to droppedTerminal window grep -E "(%2e|%3b|\.\.;|bea_wls_internal)" $DOMAIN_HOME/servers/*/logs/access.log.jspfiles. - Filesystem Triage for Dropped Web Shells:
Scan WebLogic temporary deployment and extraction folders:
Terminal window find $DOMAIN_HOME/servers/*/tmp/_WL_user/ -name "*.jsp" -mtime -14 -lsfind $DOMAIN_HOME/servers/*/stage/ -name "*.war" -mtime -14 -ls - Process Lineage Analysis:
Look for interactive shells and anomalous child processes spawned by WebLogic:
Terminal window pstree -p $(pgrep -f "weblogic.Server")ps -ef | grep java | grep -E "(bash|sh|cmd|powershell|curl|wget|nc)"
6. Remediation, Patching & Hardening
Section titled โ6. Remediation, Patching & Hardeningโ-
T0 Immediate Action (< 24h) โ Apply Oracle September 2026 Patch Set Update (PSU): Install the official WebLogic PSU via OPatch:
Terminal window cd $ORACLE_HOME/WLS_PATCH_SEP2026opatch applyRestart all WebLogic AdminServers, ManagedServers, and NodeManagers.
-
T0 Mitigation โ Restrict Perimeter Exposure & Administrative Endpoints: If patching cannot be executed immediately:
- Block external traffic to default management ports
7001and7002at edge firewalls. - Configure reverse proxies (NGINX, F5 BIG-IP, Apache HTTP Server) to reject HTTP matrix parameters (semicolons in URI path) and URL-encoded dots:
if ($request_uri ~* "(\;|\%3b|\%2e\%2e|\.\.)") {return 403;}
- Block external traffic to default management ports
-
T1 Tactical Hardening (< 7d) โ Disable Internal Servlets & Tunneling: Disable HTTP tunneling and remove unnecessary internal applications:
- In the WebLogic Administration Console, navigate to Environment > Servers > [Server Name] > Protocols > General and verify Enable Tunneling is unchecked.
- Restrict egress internet access from WebLogic application hosts.