CVE-2026-21962, a CVSS 10.0 flaw in Oracle HTTP Server and the WebLogic Server Proxy Plug-in, went from a quiet January patch line item to a confirmed, actively exploited threat when CISA added it to the Known Exploited Vulnerabilities catalog on August 24, 2026. Patch now.

On January 20, 2026, Oracle buried a perfect-score vulnerability in the middle of one of its quarterly Critical Patch Updates — a document so dense that most administrators skim it for their own product line and move on. Seven months later, on August 24, 2026, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) added CVE-2026-21962 to its Known Exploited Vulnerabilities (KEV) catalog and tagged it with an SSVC decision of Exploitation: active, Automatable: yes, Technical Impact: total. Translation: attackers are using it right now, they can script it at internet scale, and when it lands they own the box.
If you run Oracle HTTP Server or the Oracle WebLogic Server Proxy Plug-in for Apache HTTP Server or Microsoft IIS — the software that sits at the internet edge and shovels traffic back to your WebLogic application servers — this one belongs at the top of today's to-do list, not next quarter's maintenance window.
CVE-2026-21962 was published by Oracle on January 20, 2026 as part of the Oracle Critical Patch Update Advisory – January 2026. The CVE was reserved on January 5, 2026. Oracle's own description is blunt in the way that only Oracle advisories manage to be — technically complete and emotionally flat:
"Vulnerability in the Oracle HTTP Server, Oracle Weblogic Server Proxy Plug-in product of Oracle Fusion Middleware (component: Weblogic Server Proxy Plug-in for Apache HTTP Server, Weblogic Server Proxy Plug-in for IIS). Supported versions that are affected are 12.2.1.4.0, 14.1.1.0.0 and 14.1.2.0.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise Oracle HTTP Server, Oracle Weblogic Server Proxy Plug-in. While the vulnerability is in Oracle HTTP Server, Oracle Weblogic Server Proxy Plug-in, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in unauthorized creation, deletion or modification access to critical data or all Oracle HTTP Server, Oracle Weblogic Server Proxy Plug-in accessible data as well as unauthorized access to critical data or complete access to all Oracle HTTP Server, Oracle Weblogic Server Proxy Plug-in accessible data. Note: Affected version for Weblogic Server Proxy Plug-in for IIS is 12.2.1.4.0 only. CVSS 3.1 Base Score 10.0 (Confidentiality and Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N)."
Read that phrase again: "Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise..." In Oracle's advisory grammar, "easily exploitable" is a term of art. It means no authentication, no user interaction, no special configuration, no local access, and no exotic timing windows. Send HTTP, get compromise.
The score is the other tell. A CVSS v3.1 base score of 10.0 is not something Oracle hands out casually — the company ships hundreds of CVEs per quarter and a perfect 10 is a rare event. Notably, the vector shows availability impact: NONE. The 10.0 comes entirely from the combination of network attack vector, low attack complexity, no privileges required, no user interaction, changed scope, and HIGH impact to both confidentiality and integrity. That "Scope: CHANGED" flag is the multiplier: it is CVSS's way of formally stating that the blast radius extends beyond the vulnerable component itself and into everything the proxy fronts.
What makes this story unusual is the seven-month silence in between. Between January 20 and August 24, 2026, there was no vendor deep-dive, no researcher write-up, no exploit-db entry, no Metasploit module. Then CISA's KEV catalog entry landed with a dateAdded of 2026-08-24 and a single reference URL — and no supporting narrative, no attribution, no indicators of compromise. The CISA ADP Vulnrichment record was last updated at 2026-08-24T19:58:23Z, with the SSVC assessment timestamped 2026-08-24T18:44:03Z.
That is a familiar pattern, and it is not a comforting one. KEV additions with no public technical detail usually mean an incident response engagement, a federal agency detection, or a partner intelligence report drove the listing — not a public proof-of-concept. The defenders who found it aren't talking. The attackers already know.
To understand why this vulnerability rates a 10.0, you need to understand the architectural position of the affected component.
Oracle WebLogic Server is a Java EE application server that runs an enormous amount of enterprise middleware — ERP front ends, banking portals, government benefits systems, telecom provisioning, Oracle E-Business Suite and Fusion Middleware stacks. Very few organizations expose WebLogic directly to the internet. Instead, they put a web server in front of it, and that web server uses the WebLogic Server Proxy Plug-in to forward matching requests to the WebLogic cluster behind it.
Depending on your platform, the plug-in ships as:
mod_wl_ohs.so — the plug-in built into Oracle HTTP Server (OHS), Oracle's own Apache-derived web servermod_wl_24.so — the plug-in for stock Apache HTTP Server 2.4iisproxy.dll (with iisforward.dll) — the ISAPI filter/extension for Microsoft IISA typical Apache/OHS configuration looks something like this:
1LoadModule weblogic_module "${PRODUCT_HOME}/modules/mod_wl_ohs.so"23<IfModule weblogic_module>4 WebLogicHost wls-app-01.internal.example.com5 WebLogicPort 70016 Debug ON7 WLLogFile /u01/logs/ohs/wlproxy.log8 DebugConfigInfo ON9</IfModule>1011<Location /myapp>12 SetHandler weblogic-handler13 WebLogicCluster wls-01:7001,wls-02:7001,wls-03:700114 DynamicServerList ON15</Location>On IIS, the equivalent lives in iisproxy.ini:
1WebLogicCluster=wls-01:7001,wls-02:70012ConnectTimeoutSecs=103ConnectRetrySecs=24Debug=ALL5WlForwardPath=/myappThe plug-in is, by design, the first piece of Oracle code that touches an untrusted HTTP request from the internet. It parses the request line, inspects headers, makes routing decisions against a cluster list, performs health checks against backend nodes, rewrites and injects headers (WL-Proxy-Client-IP, WL-Proxy-SSL, and friends), and then opens a connection to WebLogic on the internal network. It runs inside the web server process — which on many deployments is a privileged or semi-privileged service account, and on IIS commonly runs under an application pool identity with meaningful local rights.
That is the definition of a high-value target: pre-authentication code, reachable by anyone, that straddles the DMZ boundary and speaks directly to the crown-jewel application tier.
Here is where honest reporting requires a caveat. Oracle has not published a technical root-cause analysis for CVE-2026-21962. The company's disclosure policy for Critical Patch Updates deliberately withholds vulnerable code paths, function names, and reproduction details to slow down exploit development. The advisory tells you the component, the versions, the score, and the fix. Nothing more.
The consolidated vulnerability analysis in our knowledge base is explicit about this gap, listing as a top intelligence gap: "Exact technical root cause (specific CWE, vulnerable function, or code path) is not disclosed by Oracle." And: "No public proof-of-concept code or independent vulnerability analysis has been released."
What we do have is a conflicting CWE classification between the two authoritative-ish parties:
Source | CWE assigned | Description |
|---|---|---|
CISA ADP (Vulnrichment) | CWE-284 | Improper Access Control |
Oracle CNA record | (none) | Oracle's |
Community commentary (unverified) | CWE-78 | Improper Neutralization of Special Elements used in an OS Command ('Command Injection') |
The only CWE in the machine-readable CVE record is CWE-284, Improper Access Control, assigned by CISA's ADP container. One knowledge-base source and one community post argue for CWE-78 command injection instead. Neither Oracle nor CISA has published anything supporting the CWE-78 theory, and our analysts flagged that claim as low-confidence. Treat CWE-284 as the official classification and CWE-78 as unverified speculation.
If CWE-284 is correct, the most plausible reading — and this is inference, not vendor confirmation — is a request-parsing or path-handling discrepancy in the plug-in that allows an attacker to reach resources or backend endpoints the proxy was configured to protect. Proxy plug-ins have historically been fertile ground for exactly this class of bug: path normalization mismatches between the front-end web server and the back-end application server, header-injection into the proxied request, and confusion over which URI the access-control check evaluated versus which URI actually got forwarded. When the front door and the back door disagree about what a request means, the checkpoint in the middle stops working.
What elevates that from "annoying bypass" to "CVSS 10.0" is the scope change combined with HIGH integrity impact — Oracle explicitly says successful attacks yield "unauthorized creation, deletion or modification access to critical data" across everything the plug-in can reach, and that attacks "may significantly impact additional products."
Based on the vendor description and the consolidated analysis, the attack chain is short — which is precisely the problem:
Server: response headers (e.g., Oracle-HTTP-Server-12c, Oracle-Application-Server-11g), the plug-in leaks WL-Proxy-* headers on some configurations, and DebugConfigInfo ON deployments will happily dump proxy configuration when queried with ?__WebLogicBridgeConfig.CISA's SSVC assessment of Automatable: yes means all four stages of the kill chain (reconnaissance, weaponization, delivery, exploitation) can be reliably scripted against many targets. That is the mass-scanning signature. If you are exposed, you will be found — the internet-wide scanners never sleep.
The CISA ADP record includes three non-government references beyond the KEV catalog itself:
https://x.com/0xacb/status/2015473216844620280https://github.com/Ashwesker/Ashwesker-CVE-2026-21962/issues/1https://web.archive.org/web/20260129165916/https://github.com/Ashwesker/Ashwesker-CVE-2026-21962/issues/1The archived GitHub issue — snapshotted January 29, 2026 — is not a working exploit. It is a dispute about one. The substantive community comment reads:
"This is more likely a fabricated exploit; it doesn't match Oracle documentation as the file paths there are for CWE-284 and this vulnerability is for CWE-78 (Command Injection). I tried this and didn't go through. However if it's working it should be a new CVE."
Our analysis of that claim, verbatim from the knowledge base:
Aspect | Observation |
|---|---|
Source credibility | The comment originates from an unauthenticated forum/post; no link to a reputable advisory, exploit repository, or vendor acknowledgment. |
Technical content | The author confuses CWE identifiers (284 vs 78) and mentions "file paths" that do not exist in Oracle's public documentation. |
Impact on CVE status | The claim does not change the CVE's existence, severity, or official classification. Oracle's CPU already assigns a CVSS 10.0 score and provides patch information. |
Conclusion | The comment is treated as unverified rumor. It is documented for completeness but should not influence remediation priorities. |
So: there is no verified public proof-of-concept code for CVE-2026-21962. The Ashwesker-CVE-2026-21962 repository appears to have hosted a PoC that at least one tester could not get to work and that at least one commenter believes was fabricated. Repositories of this kind are a recurring hazard in the days after a high-profile CVE drops — some are honest mistakes, some are attention-seeking, and a meaningful fraction are malware traps aimed at security researchers who run other people's exploit code without reading it. Do not clone and execute unverified "PoCs" for this CVE.
The absence of a public exploit does not mean the absence of a private one. CISA put this CVE in KEV, and KEV is an evidence-based catalog — CISA's own inclusion criteria require reliable evidence of active exploitation. Somebody has a working exploit. It just isn't on GitHub.
Vendor | Product | Affected Versions | Fixed Versions | Notes |
|---|---|---|---|---|
Oracle Corporation | Oracle HTTP Server | 12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0 | Patched builds of 12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0 via CPU January 2026 | The bundled |
Oracle Corporation | Oracle WebLogic Server Proxy Plug-in for Apache HTTP Server | 12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0 | Patched builds via CPU January 2026 |
|
Oracle Corporation | Oracle WebLogic Server Proxy Plug-in for Microsoft IIS | 12.2.1.4.0 only |
One subtlety worth calling out, because it trips people up every quarter: Oracle does not bump the marketing version number when it patches Fusion Middleware. The "fixed" version string is the same as the "vulnerable" version string. You are still running 12.2.1.4.0 after you patch — what changes is the applied patch inventory. A vulnerability scanner that only reads the base version banner will either miss the fix or scream about it forever. Verify with opatch, not with a version string.
The CVE record's CPE applicability block lists three vulnerable configurations:
1cpe:2.3:a:oracle:http_server__oracle_weblogic_server_proxy_plug-in:12.2.1.4.0:*:*:*:*:*:*:*2cpe:2.3:a:oracle:http_server__oracle_weblogic_server_proxy_plug-in:14.1.1.0.0:*:*:*:*:*:*:*3cpe:2.3:a:oracle:http_server__oracle_weblogic_server_proxy_plug-in:14.1.2.0.0:*:*:*:*:*:*:*The hardest part of remediating this CVE is not applying the patch. It is finding the installs.
The WebLogic Proxy Plug-in is not always inventoried as "Oracle software." It gets dropped onto stock Apache boxes by application teams. It gets installed on IIS servers by Windows administrators who consider that machine part of the Microsoft estate. It rides along inside OHS instances that were stood up years ago as part of a Fusion Middleware or E-Business Suite deployment and have since been forgotten. It shows up in load balancer tiers, in vendor-managed appliances, and in "temporary" DMZ hosts that turned out to be permanent.
Oracle HTTP Server 12.2.1.4.0 in particular has enormous installed-base inertia — it is the workhorse release for a very large population of Fusion Middleware 12c deployments, and it is the one version affected across all three plug-in variants including IIS.
The CISA ADP container settles the question of whether this is theoretical:
1{2 "id": "CVE-2026-21962",3 "role": "CISA Coordinator",4 "options": [5 {"Exploitation": "active"},6 {"Automatable": "yes"},7 {"Technical Impact": "total"}8 ],9 "version": "2.0.3",And the KEV entry:
1{2 "dateAdded": "2026-08-24",3 "reference": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-21962"4}Three SSVC dimensions, three worst-case values. Exploitation: active means CISA has evidence of exploitation in the wild. Automatable: yes means it scales. Technical Impact: total means the attacker gets full control of the vulnerable component.
Under Binding Operational Directive 22-01, federal civilian executive branch agencies are required to remediate KEV-listed vulnerabilities within the deadline CISA assigns. Everyone else should treat KEV as the closest thing the industry has to a free, government-vetted "this one is really happening" feed.
Our analysts did flag one honest caveat: the KEV entry itself "provides no supporting details," and the exploitation claim is therefore assessed at low-to-medium source confidence in the absence of independently published IOCs or campaign attribution. That is a statement about the evidence available to the public, not a reason to discount the listing. CISA does not add CVEs to KEV on speculation.
Put yourself on the offensive side for a moment. You have unauthenticated code-level access to a host that:
mod_wl_ohs.conf, iisproxy.ini, httpd.conf) that map out the internal cluster topology, hostnames, and portsThe knowledge base enumerates the data at risk as: credentials, personally identifiable information (PII), proprietary business data, session cookies, application source code, database credentials, and intellectual property.
Realistic post-exploitation scenarios:
The patch shipped January 20, 2026. The KEV listing arrived August 24, 2026. That is a 217-day gap during which vulnerable systems were exposed to whoever developed a working exploit first.
If you have an unpatched, internet-facing OHS or WebLogic Proxy Plug-in instance today, the correct assumption is not "I need to patch before someone attacks me." It is "I need to patch, and then I need to determine whether someone already did." Compromise assessment should run in parallel with remediation, not after it.
Do not trust your asset inventory. Go look.
On Linux/Unix — hunt for the plug-in binary and its configuration:
1# Find the WebLogic proxy plug-in modules anywhere on disk2find / -xdev \( -name 'mod_wl_ohs.so' -o -name 'mod_wl*.so' \) 2>/dev/null34# Find configs that load or reference the plug-in5grep -RIl --include='*.conf' -E 'weblogic_module|weblogic-handler|WebLogicCluster|WebLogicHost' \6 /etc/httpd /etc/apache2 /u01 /opt /app 2>/dev/null78# Identify running Oracle HTTP Server processes9ps -ef | grep -iE 'ohs|httpd.worker|opmn' | grep -v grepOn Windows/IIS — hunt for the ISAPI components:
1# Locate the IIS proxy plug-in DLLs and INI2Get-ChildItem -Path C:\ -Include iisproxy.dll,iisforward.dll,iisproxy.ini -Recurse -ErrorAction SilentlyContinue |3 Select-Object FullName, VersionInfo, LastWriteTime45# Enumerate ISAPI filters registered in IIS6Import-Module WebAdministration7Get-WebConfiguration -Filter /system.webServer/isapiFilters -Recurse |8 Select-Object -ExpandProperty CollectionFrom the network — fingerprint what is exposed:
1# Oracle HTTP Server banners2curl -sI https://target.example.com/ | grep -i '^server:'34# Leaked proxy configuration on Debug/DebugConfigInfo-enabled hosts5curl -s 'https://target.example.com/myapp/?__WebLogicBridgeConfig'If that last request returns proxy configuration, you have two problems: an unpatched plug-in and a debug setting that is handing attackers your internal cluster map. Turn DebugConfigInfo off regardless.
Apply the Oracle Critical Patch Update, January 2026 to every affected instance:
Advisory and patch location: https://www.oracle.com/security-alerts/cpujan2026.html
Oracle's CVE record carries a publication date of , and the CPU advisory itself is the January 2026 release. Some downstream vulnerability feeds list the patch release as 2026-01-15. The authoritative date from the CVE record's field is . Either way, the patch has been available for seven months.
Since Oracle does not change the version string when it patches Fusion Middleware, verify with the patch inventory, not the banner:
1# From the OHS / Fusion Middleware Oracle Home2export ORACLE_HOME=/u01/app/oracle/product/fmw3$ORACLE_HOME/OPatch/opatch lspatches4$ORACLE_HOME/OPatch/opatch lsinventory -detail | grep -iE 'ohs|http server|proxy plug'Confirm that a January 2026 CPU bundle patch appears in the output. If it does not, you are not patched — no matter what your scanner says.
One more trap: the Apache and IIS plug-ins are distributed separately from WebLogic Server itself. Patching your WebLogic domain does not patch a mod_wl_24.so sitting on a standalone Apache box or an iisproxy.dll on a Windows web server. Those are independent downloads and independent patch jobs. Chase them individually.
Every workaround below is partial. None of them is a substitute for the patch. Use them to buy hours or days, not months.
Workaround | Effectiveness | Side Effects |
|---|---|---|
Block inbound HTTP/HTTPS traffic to the affected Oracle HTTP Server or WebLogic Proxy Plug-in endpoints at the perimeter firewall or upstream load balancer until patches are applied | Partial | May interrupt legitimate web services and break customer-facing applications |
Restrict network access to the server to trusted IP ranges only (allow-listing) | Partial | Could affect legitimate remote users, partners, and mobile clients |
Run the web server process under a non-privileged, dedicated system account; remove unnecessary OS-level privileges | Partial | Could break functionality that relies on elevated rights; may require permission rework on log and lock directories |
Remove unnecessary privileges or restrict OS-level access to the proxy plug-in binaries and configuration files to essential administrative accounts only | Partial | Could break workflows or automation that rely on broader access |
Disable or unload the proxy plug-in entirely if the proxying functionality is not actually required | Partial-to-full for that host |
If you front OHS with a WAF or reverse proxy, tighten request normalization and reject ambiguous or double-encoded paths — a reasonable hedge given that CISA classifies this as CWE-284 improper access control and that path/URI confusion is a common mechanism in that class. This is defense in depth, not a fix.
Assume nothing. Given the 217-day exposure window and confirmed active exploitation, run a compromise assessment on every instance that was internet-reachable and unpatched.
Indicators of compromise to look for (compiled from the consolidated analysis):
mod_wl_ohs.conf, httpd.conf, iisproxy.ini, or the plug-in binaries themselvesLog indicators:
wlproxy.log) indicating buffer, parsing, or malformed-request errors?__WebLogicBridgeConfig or other debug endpoints from external addressesA quick triage sweep:
1# Burst of 5xx from a single source — potential exploitation attempts2awk '$9 ~ /^5/ {print $1}' /u01/logs/ohs/access_log | sort | uniq -c | sort -rn | head -2534# Proxy plug-in parsing/processing errors5grep -iE 'malformed|parse error|buffer|invalid request|unexpected' /u01/logs/ohs/wlproxy.log67# Debug-endpoint probing from the outside8grep -iE '__WebLogicBridgeConfig|WLDebug' /u01/logs/ohs/access_log910# Files written into the web root in the exposure window (Jan 20 - Aug 24, 2026)11find /u01/app/oracle/ohs/htdocs -type f -newermt '2026-01-20' ! -newermt '2026-08-25' -lsDetection engineering. Oracle has published no official IDS/IPS signature, YARA rule, or Sigma rule for this CVE, and none exists publicly. Our analysts recommend building your own:
sh, bash, cmd.exe, powershell.exe, curl, wget, nc, certutil);, &&, |, `) or encoded traversal sequences targeting proxy-handled URLs — worth deploying even though the CWE-78 theory is unconfirmed, since the cost is lowhttpd.conf, mod_wl_ohs.conf, iisproxy.ini, and the document rootopatch lspatches / opatch lsinventory and confirm the January 2026 CPU bundle is present on every instance.iisproxy.dll / iisforward.dll.CVE-2026-21962 is a case study in the failure mode of quarterly patch cycles.
Oracle's Critical Patch Update model is, in the abstract, a reasonable engineering compromise: batch the fixes, ship them on a predictable calendar, let customers plan maintenance windows. In practice, a CVSS 10.0 unauthenticated remote compromise of an internet-facing DMZ component gets the same presentation weight in that document as a 4.3 information disclosure in a back-office reporting tool. Hundreds of CVEs, one enormous table, quarterly. The signal drowns in the volume. Seven months later CISA has to tell everyone that the perfect-10 they skimmed past in January is now being used against them.
There is a second lesson in the proxy plug-in itself. The industry has spent a decade hardening application servers — WebLogic, in particular, has absorbed a long and painful series of deserialization and IIOP vulnerabilities that taught everyone to keep it off the internet. The response was to put a proxy in front of it. But the proxy is code too, written in C, parsing hostile input, running in-process inside a privileged web server, and holding a permanent authorized route through the firewall. We moved the attack surface; we did not eliminate it. Every reverse proxy, every ingress controller, every API gateway, every plug-in that translates between an untrusted outside and a trusted inside occupies that same uncomfortable position.
Third: the GitHub repository saga is a reminder that in the vacuum left by a vendor who won't publish technical detail, noise fills the space. Within days of the January disclosure, there was a repository, a disputed PoC, a CWE argument, and an X post — and none of it produced a verified exploit or a usable detection signature. Meanwhile, someone with actual capability was apparently using the bug in the wild. Defenders who spent that window arguing about CWE-78 versus CWE-284 on social media were not patching. Attribute the classification to CISA (CWE-284), note the dissent, and go apply the patch.
What to watch for next:
The patch has existed since January 20, 2026. There is no clever mitigation, no architectural workaround, and no reason to wait. Find the instances, apply the CPU, verify with opatch, and go hunting for what may already be inside.
Patched build of 12.2.1.4.0 via CPU January 2026
Oracle explicitly scopes the IIS variant to 12.2.1.4.0 |
Breaks all proxied access to the WebLogic backend |
Apply the January 2026 Critical Patch Update | Full | Requires a planned maintenance window, patch testing, and a service restart |