CVE-2026-21962 is a CVSS 10.0 access-control bypass in Oracle HTTP Server and the WebLogic Proxy Plug-in, exploited since January 2026 and added to CISA KEV. Detection and fixes.
Correction (2026-10-15): An earlier version of this article misstated several points. (1) The flaw is in Oracle HTTP Server and the WebLogic Server Proxy Plug-in (the web tier), not in WebLogic Server itself; a WebLogic install without the plug-in is not directly exposed. (2) Exploitation began in January 2026: a public proof-of-concept appeared and the first attempt was seen on 2026-01-22. August 24 is when CISA added the CVE to KEV; it was not a fresh August wave. (3) The "140,000 attempts" figure is Imperva's WAF telemetry from its 26 January 2026 blog, covering attacks on its customers since the CVE's release; it is not a honeypot count and not a 72-hour figure. CloudSEK's honeypot logged only 3 unique IPs for this CVE. (4) The bypass paths are documented (see below); our earlier "chained deserialization" description was not sourced and is removed. (5) Attribution is hedged: SOCRadar ties UNC5174/UNC6586 to 11 exploit chains built from public PoCs, of which this CVE is one; SNOWLIGHT is a C-based Linux dropper, and it is unclear which attacks triggered CISA's listing. (6) The CVSS vector and CWE were also corrected, and BOD 26-04 is described accurately.
Adversaries are actively weaponizing a maximum-severity perimeter bypass vulnerability in the Oracle HTTP Server and WebLogic Server Proxy Plug-in components to reach internal corporate application tiers. Designated as CVE-2026-21962, the flaw carries a CVSS 10.0 (Critical) rating and lets unauthenticated remote attackers bypass edge access controls and read or modify data on backend middleware (Oracle's impact rating is high confidentiality and integrity). SecurityWeek and CloudSEK describe a path to remote code execution, and SOCRadar confirmed one blind RCE through an out-of-band callback. CISA added the vulnerability to the Known Exploited Vulnerabilities (KEV) catalog on August 24, 2026, with a federal remediation due date of August 27, 2026. The KEV entry applies CISA's standing risk-based patching directive, BOD 26-04, and is flagged for forensic triage, so federal agencies must also triage for compromise, not just patch. A comparable KEV listing was CISA's addition for the actively exploited Ivanti Connect Secure flaw.
Exploitation is not new. A public proof-of-concept (credited by Tech Times to researcher gregk4sec, github.com/gregk4sec/CVE-2026-21962) appeared on January 22, 2026, and CloudSEK's honeypot logged the first attempt that day from 67.213.118[.]179 at 13:30 UTC, followed by two more IPs from January 27. Imperva reported on January 26, 2026 that, since the CVE's release, its WAF had blocked over 140,000 attack attempts against its customers across 21 countries, almost 75% of them US-based sites followed by Poland, from 9 source countries and mainly in the computing and IT sector. That is Imperva's customer telemetry, not a honeypot count. A single IP, 193.24.123[.]42, was reported probing this flaw alongside other vulnerabilities in February 2026. SOCRadar's later campaign data lists 119 entries (91 unique hosts) for this CVE, with one confirmed compromise, in a window of April 24 to June 8, 2026.
On attribution, SOCRadar reporting links China-nexus actors tracked as UNC5174 and UNC6586 to a toolkit of 11 exploit chains built from public proofs-of-concept, of which this CVE is one. SNOWLIGHT is described as a lightweight, C-based Linux dropper and loader that Mandiant first attributed to UNC5174. Reporting does not make clear which attacks prompted CISA's KEV listing, so this article does not tie any specific intrusion to a specific actor. Similar opportunistic mass-scanning swarms have chased other zero-days too, including a recent PaperCut zero-day swarm exploited for rapid Active Directory compromise.
| Vulnerability Metric | Technical Specification |
|---|---|
| CVE Identifier | CVE-2026-21962 |
| Common Weakness Enumeration | CWE-284 (Improper Access Control) |
| CVSS v3.1 Score | 10.0 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N) |
| Flaw Classification | Scope Change (S:C) Access Control Bypass; Oracle rates impact as high confidentiality and integrity, no availability impact |
| Impacted Components | Oracle HTTP Server and the Oracle WebLogic Server Proxy Plug-in (Apache and IIS plug-ins); WebLogic Server without the plug-in is not directly exposed |
| Affected Versions | 12.2.1.4.0, 14.1.1.0.0 and 14.1.2.0.0 of Oracle HTTP Server and the Proxy Plug-in, per Oracle's CNA record and January 2026 CPU. The IIS plug-in is affected in 12.2.1.4.0 only |
| Vendor Advisory | Oracle Critical Patch Update (released January 20, 2026) |
The danger stems from the Scope Change (S:C) architecture failure. Enterprise reverse proxies sit in demilitarized zones (DMZs) fronting high-value systems, including core banking, telecommunications billing, and enterprise resource planning platforms. CVE-2026-21962 subverts edge access controls, enabling an external client to turn the perimeter proxy into an involuntary vehicle for internal exploitation.
Mechanics of the Proxy Plug-in Access Control Bypass
Oracle's advisory describes an easily exploitable flaw in Oracle HTTP Server and the Proxy Plug-in that an unauthenticated attacker can reach over HTTP. Oracle does not publish the bypass mechanics, but the request paths are documented by others: CloudSEK's honeypot logged requests of the form GET /_proxy//weblogic/..;/bea_wls_internal/ProxyServlet and /wl_proxy//weblogic/..;/bea_wls_internal/ProxyServlet, and the public PoC is linked above. The description of why this works below is our interpretation of those paths, not Oracle's explanation.
When an HTTP request enters an edge server—such as Apache HTTP Server, Oracle HTTP Server (OHS), or Microsoft IIS—the server’s access control engine evaluates the request URI against path restrictions, such as blocking external traffic to /console or diagnostic endpoints. However, when the server hands the request to the proxy plug-in C-extension (mod_wl_24.so, mod_wl.so, or iisproxy.dll) to dispatch across the private application tunnel, URI normalization breaks down.
Internet Request (GET/POST)
│
├──► [1] Edge Server ACL Engine (Evaluates normalized URI as public/allowed)
│
├──► [2] Proxy Plug-in C-Module (Transmits raw or divergent path via internal tunnel)
│
└──► [3] Backend WebLogic Engine (Decodes traversal, serving privileged administrative servlets)
The documented requests use the /_proxy/ and /wl_proxy/ prefixes, a ..; path segment and the ProxyServlet endpoint. The other encodings in this article (double-URL-encoded traversal such as %252e%252e%252f, alternate slashes) are labelled detection examples, not confirmed exploit payloads. The edge server resolves the URI as an authorized public path, while the underlying plug-in passes the raw or malformed path directly to the internal WebLogic HTTP listener on port 7001 or 7002. WebLogic’s servlet container then decodes the payload, resolving restricted administrative interfaces that administrators assumed were unreachable from the internet.
Exploit Chaining: Perimeter Bypass to Remote Code Execution
CloudSEK's honeypot also saw traffic aimed at older WebLogic flaws (CVE-2020-14882/14883, CVE-2020-2551, CVE-2017-10271). That an attacker would reach those through this bypass is our inference, not a documented chain; the table lists what an unpatched backend would expose if the edge ACL were bypassed.
| Target Flaw | Vulnerable Subsystem | Chained Exploitation Vector | Operational Impact |
|---|---|---|---|
| CVE-2020-14882 / CVE-2020-14883 | WebLogic Console (/console) | Traversing to /console/css/%252e%252e%252fconsole.portal leverages MvelExtractor or XML contexts to execute operating system commands. | Pre-auth remote command execution as the WebLogic process owner. |
| CVE-2020-2551 | IIOP / T3 RMI Handling | Routing serialized objects via encapsulated HTTP tunnels (/bea_wls_internal/iiop) into internal naming listeners. | Pre-auth remote code execution via unmarshalled Java gadgets. |
| CVE-2017-10271 | WLS-WSAT Web Services | Delivering XML payloads to /wls-wsat/CoordinatorPortType parsed by java.beans.XMLDecoder. | Immediate command execution without valid credentials. |
SNOWLIGHT is publicly described as a Linux dropper and loader; the post-exploitation behaviour of any intrusion through this CVE (stagers, persistence, follow-on payloads) is not documented in the sources we reviewed. Enterprise ERP platforms have faced a comparable wave of their own, through critical Apache OFBiz flaws exposing enterprise ERPs to unauthenticated RCE.
Forensic Log Triage and Investigation
Determining whether an edge probe succeeded requires cross-referencing perimeter web server logs against backend WebLogic domain access records. A comparable workflow appears in the SonicWall SMA 1000 zero-day attack chain triage and defense guide.
| Forensic Artifact | Scanning / Failed Probe | Confirmed Host Intrusion |
|---|---|---|
| Edge HTTP Status Code | 400 Bad Request, 403 Forbidden, 404 Not Found | 200 OK or 302 Found (redirecting into console workspaces) |
| Response Byte Size | Uniform, small error pages (200 to 500 bytes) | Variable payloads (>2 KB to >50 KB) matching dynamic application pages |
| Backend WebLogic Logs | No matching records in backend access logs | Synchronized requests in $DOMAIN_HOME/servers/<Server>/logs/<Server>_access.log |
| Process Tree Activity | Standard web daemon execution | Java process spawning child shells (cmd.exe, powershell.exe, /bin/sh, curl, certutil.exe) |
| Filesystem Presence | Normal binary state | Anomalous .class, .jsp, or .war files written to /tmp/ or servlet subdirectories |
The following log entries are illustrative constructions to show what to hunt for, not captured telemetry:
# Unsuccessful probe rejected at the edge:
203.0.113.10 - - [DD/Mon/YYYY:04:12:01 +0000] "GET /public/%252e%252e%252fconsole/css/%252e%252e%252fconsole.portal HTTP/1.1" 403 298 "-" "curl/7.88.1"
# Request shaped like the documented bypass (illustrative; a 200 here means investigate):
203.0.113.10 - - [DD/Mon/YYYY:04:14:40 +0000] "GET /_proxy//weblogic/..;/bea_wls_internal/ProxyServlet HTTP/1.1" 200 512 "-" "curl/7.88.1"
# Successful proxy bypass routed to internal administrative console:
203.0.113.10 - - [DD/Mon/YYYY:04:15:22 +0000] "POST /bea_wls_internal/..;/console/login/LoginForm.jsp HTTP/1.1" 200 4821 "-" "Mozilla/5.0"
In IIS deployments running iisproxy.dll, requests appear within W3C formatted logs:
YYYY-MM-DD 04:18:11 10.0.1.5 POST /iisproxy.dll /wls-wsat/CoordinatorPortType;.. 80 - 203.0.113.10 - - 200 0 0 142
High-Priority Indicators of Compromise
- Scanning Infrastructure:
193.24.123[.]42 - Targeted URI Paths:
/_proxy/*,/wl_proxy/*,*/ProxyServlet,/console/*,/bea_wls_internal/*,/wls-wsat/*,/management/*,/ws_utc/*,/uddi/*
Virtual Patching and Edge Inspection Rules
Where emergency maintenance windows cannot immediately accommodate binary updates, deploying web application firewall (WAF) inspection rules blocks known exploitation patterns before traffic reaches the plug-in layer.
ModSecurity (OWASP CRS Format)
# Block encoded path traversal sequences targeting proxy plug-ins
SecRule REQUEST_URI "@rx (?i)(?:%252e|%2e|\.\.)(?:%252f|%2f|\/|%255c|%5c|\\)" \
"id:10020261,phase:2,block,log,msg:'CVE-2026-21962: Path Traversal Bypass',severity:'CRITICAL'"
# Deny direct internet requests to internal WebLogic management servlets
SecRule REQUEST_URI "@rx (?i)/(?:_proxy|wl_proxy|console|bea_wls_internal|ProxyServlet|wls-wsat|management|ws_utc)(?:/|$)" \
"id:10020262,phase:1,block,log,msg:'CVE-2026-21962: Unauthorized Management Access',severity:'CRITICAL'"
Cloudflare and Cloud WAF Match Specifications
For cloud WAF deployments, match rules must target decoded URI structures:
(http.request.uri.path contains "/_proxy/" or
http.request.uri.path contains "/wl_proxy/" or
http.request.uri.path contains "ProxyServlet" or
http.request.uri.path contains "/console" or
http.request.uri.path contains "/wls-wsat" or
http.request.uri.path contains "/bea_wls_internal" or
http.request.uri.path matches "(?i)(\\.\\./|%252e%252e%252f|%2e%2e/|;)")
and not (ip.src in $enterprise_mgmt_subnets)
In AWS WAF, implement an OrStatement combining a ByteMatchStatement searching for /console (with URL_DECODE and NORMALIZE_PATH transformations) and a RegexMatchStatement evaluating (?i)(\.\.[\/\\]|%2e%2e|%252e%252e|;.*\/).
Operational Warning: WAF pattern-matching rules represent temporary stopgaps. Advanced adversaries routinely circumvent edge regex filters through HTTP/2 request framing, chunked transfer encoding fragmentation, and Unicode canonicalization differences. Applying Oracle's patch remains mandatory.
Architectural Isolation and Zero-Trust Hardening
Preventing perimeter scope-change vulnerabilities from compromising internal tiers requires decoupling administration channels from edge ingress.
Core Remediations
- Patch first: apply Oracle's January 2026 Critical Patch Update to Oracle HTTP Server and to the WebLogic Server Proxy Plug-in on Apache and IIS. Oracle and Imperva treat this as the definitive fix; everything below reduces exposure but does not replace it. US federal agencies should also complete the forensic triage that the KEV entry requires under BOD 26-04.
- Activate Dedicated Administration Ports: WebLogic binds management services to public application ports by default. Enabling the dedicated Administration Port (
9002over mandatory SSL/TLS) physically removes/consoleand/managementweb applications from user-facing application ports (7001,7003). Even if an edge proxy forwards a malformed request, the administrative servlets do not exist on that listener. Default settings quietly enabling host takeover is exactly the pattern behind a Gitea RCE flaw added to CISA's KEV catalog. - Network Microsegmentation: Configure boundary firewalls to permit reverse proxy communication to WebLogic servers strictly across designated application listener ports. Explicitly drop T3, T3S, IIOP, and IIOPS protocol traffic at the boundary.
- Enforce Mutual TLS (mTLS): Require cryptographic client certificate validation between the edge proxy and backend application servers to prevent unauthorized lateral traversal.
- Deny-by-Default Proxy Routing: Replace permissive, catch-all routing directives in
mod_wl_ohs.confwith granular mappings:
# SECURE: Explicit routing replacing catch-all forwarding
<Location /online-banking>
SetHandler weblogic-handler
WebLogicCluster 10.0.2.10:7003,10.0.2.11:7003
Require all granted
</Location>
<Location /console>
Require all denied
</Location>
The long exploitation window of CVE-2026-21962 demonstrates that perimeter web servers cannot safely shield unpatched internal middleware. Mitigating scope-change threats requires eliminating implicit network trust, unbinding management interfaces from application listeners, and assuming that reverse proxy ingress will face continuous manipulation.
Sources
- The Hacker News: actively exploited Oracle WebLogic flaw
- SecurityWeek: CISA warns of exploited Oracle WebLogic vulnerability
- Tech Times: Oracle proxy flaw CVE-2026-21962 and China-linked attacks
- BankInfoSecurity: actively exploited Oracle WebLogic bug gets patch order
- Oracle Critical Patch Update, January 2026
- NVD: CVE-2026-21962
- CISA Known Exploited Vulnerabilities catalog entry for CVE-2026-21962
- Imperva: customers protected against CVE-2026-21962 in Oracle HTTP and WebLogic
- CloudSEK, "Honey for Hackers" honeypot report (March 2026)
- SOCRadar: SNOWLIGHT government-targeting Chinese campaign
- gregk4sec/CVE-2026-21962 proof-of-concept repository (link only)