This is a side door left on the loading dock, not a cannon through the front wall
CVE-2024-21182 is a pre-auth Oracle WebLogic Server flaw in the Core component that lets an unauthenticated attacker with network reachability over T3 or IIOP pull sensitive data from the server. Oracle lists affected versions as 12.2.1.4.0 and 14.1.1.0.0; the July 2024 CPU addressed it, with the 12c track publicly showing WLS STACK PATCH BUNDLE 12.2.1.4.240710 / WLS PATCH SET UPDATE 12.2.1.4.240704 as the relevant fixed train.
Oracle's 7.5/HIGH baseline is directionally right on technical impact, but reality is harsher because this is now KEV-listed with active exploitation and public PoC. The counterweight is real too: this is not generic HTTP reachability; the attacker needs exposure to WebLogic's T3/IIOP path, which materially narrows the reachable population in mature enterprises. Net: this stays HIGH, upgraded in urgency, not in bucket.
4 steps from start to impact.
Find a reachable WebLogic endpoint
T3/T3S and sometimes IIOP ride. Public exposure exists, and recent reporting citing Shodan counted more than 1,500 internet-exposed vulnerable instances, but the real enterprise risk is broader because internal flat networks often expose these services east-west after initial access.- Target runs Oracle WebLogic Server
12.2.1.4.0or14.1.1.0.0 - Attacker can reach a WebLogic listener carrying
T3orIIOP - Host is unpatched for the July 2024 CPU or later
- Many orgs do not expose
T3/IIOPdirectly to the internet - Segmentation, load balancers, and network channels often limit reachability
- Some environments only expose HTTP(S) through reverse proxies, not native remoting protocols
Exercise the pre-auth protocol path
k4it0k1d and kursadalsan, described as a WebLogic JNDI/T3 exploit path. The attacker sends crafted traffic over the remoting channel without needing credentials or user interaction.- Untrusted traffic is allowed to reach the target listener
- No authentication gate blocks the vulnerable code path
- NGFW rules, ACLs, or protocol-aware filtering can break the path before application handling
- If
T3/IIOPis disabled or bound only to trusted interfaces, exploitation dies early
T3/IIOP access from non-app peers; EDR is less useful at this stage unless the exploit chains into follow-on execution.Read server-accessible data
- Target application context exposes valuable data through the compromised server process
- The WebLogic service account has broad backend reach
- Blast radius is constrained by what that server can actually access
- Tight DB permissions and segmented backend services sharply reduce payoff
Pivot from data access to wider compromise
- Compromised server stores secrets, JDBC credentials, or admin material
- Lateral movement paths exist from the app tier
- Secrets vaulting, least-privilege service accounts, and EDR materially reduce post-exploit value
- A well-segmented app tier contains the incident to one domain or tenant
The supporting signals.
| In-the-wild status | Confirmed exploited via CISA KEV; current reporting says CISA added it on 2026-06-01 after evidence of active exploitation. |
|---|---|
| KEV dates | KEV-listed with reporting of Date Added: 2026-06-01 and Due Date: 2026-06-04 in KEV mirrors consuming CISA data. |
| PoC availability | Public PoC exists; repos referenced include k4it0k1d/CVE-2024-21182 and kursadalsan/CVE-2024-21182. |
| EPSS | User-supplied EPSS is 0.89649; CIRCL EPSS data shows roughly 99th percentile risk. That lines up with a vuln actors actually care about, not just one scanners yell about. |
| CVSS vector meaning | AV:N/AC:L/PR:N/UI:N is the dangerous part: remote, low-complexity, no-auth, no-user-click. The moderating part is C:H/I:N/A:N: Oracle scored this as data theft, not direct tamper or crash. |
| Affected versions | Oracle lists Oracle WebLogic Server 12.2.1.4.0 and 14.1.1.0.0 as affected. |
| Fixed train | Oracle fixed it in the July 2024 Critical Patch Update. The 12c public patch train shows WLS STACK PATCH BUNDLE 12.2.1.4.240710 including WLS PATCH SET UPDATE 12.2.1.4.240704; for 14.1.1.0.0, use the July 2024 CPU or any later cumulative WLS patch. |
| Exposure reality | Recent reporting citing Shodan counted 1,592 internet-exposed vulnerable WebLogic servers (961 on 12.2.1.4.0, 631 on 14.1.1.0.0). That is not mass-market scale, but it is plenty for opportunistic exploitation. |
| Protocol exposure nuance | Oracle documentation explicitly warns against enabling T3 on channels accessible from outside Oracle Cloud. This is the key friction point: if your org only publishes HTTP(S) behind a proxy, this CVE is much less reachable. |
| Disclosure date | 2024-07-16 in Oracle's July 2024 CPU and NVD publication. |
noisgate verdict.
The single biggest factor is active exploitation of a pre-auth bug with public PoC. The reason this stops short of CRITICAL is equally important: exploitation requires real-world reachability to T3/IIOP, which sharply narrows exposure compared with a plain internet-facing HTTP flaw.
Why this verdict
- Vendor baseline starts at 7.5/HIGH because this is unauthenticated, remote, low-complexity access to sensitive data.
- KEV + public PoC push the score up: this moved from theoretical to operational, and defenders should assume opportunistic scanning is already happening.
- Reachability friction keeps it below CRITICAL: the attacker needs
T3/IIOPaccess, which implies a smaller exposed population than generic web flaws and often means post-initial-access east-west exploitation in modern enterprises. - Impact is serious but not full-spectrum: Oracle scored confidentiality high, but integrity and availability are not part of the demonstrated baseline, so this is not the same class as unauthenticated WebLogic RCE.
Why not higher?
I am not calling this CRITICAL because the exploit path is not simple HTTPS to a login page; it depends on T3/IIOP reachability, which many mature environments intentionally suppress. Also, the published severity basis is unauthorized data access, not proven turnkey RCE with broad host takeover.
Why not lower?
I am not downgrading it because KEV trumps wishful thinking. A pre-auth Oracle WebLogic bug with public PoC and confirmed in-the-wild use is exactly the kind of issue that burns defenders who over-index on protocol friction.
What to do — in priority order.
- Block
T3andIIOPfrom untrusted networks — Put ACLs, security groups, or NGFW rules in front of every WebLogic listener and allow only known app peers. Because this is KEV-listed and actively exploited, deploy this immediately, within hours. - Disable unused remoting protocols — If the application does not require
T3,T3S, orIIOP, turn them off or remove public/internal channels that expose them. This is the cleanest blast-radius reduction and should also be done immediately, within hours. - Constrain WebLogic network channels — Bind admin and remoting channels to management VLANs or loopback/proxy-only interfaces rather than broad server subnets. If patching cannot happen same-day, enforce this segmentation immediately, within hours.
- Audit service-account reach — Reduce database and backend privileges available to the WebLogic runtime so a successful exploit yields less data. Treat this as short-term containment and complete it within hours to 1 day for exposed systems.
- Hunt for abnormal
T3/IIOPtraffic and data access — Look for new peers touching WebLogic remoting ports, unusual JDBC activity, and suspicious reads by middleware service accounts. Start the hunt immediately, within hours, because KEV means you may already be behind.
- A WAF alone does not solve this if the exploitable path is
T3/IIOPrather than ordinary HTTP request handling. - MFA is irrelevant to the initial exploit because the attacker does not need credentials.
- EDR alone helps with follow-on behavior, but it does not reliably stop the initial protocol-level data exposure.
- Hiding the admin console is not enough if the vulnerable listener remains reachable on the remoting channel.
Crowdsourced verification payload.
Run this on the target WebLogic host as the same OS account that owns the Oracle home, or as root with read access to the Oracle installation. Invoke it like ./check_cve_2024_21182.sh /u01/app/oracle/middleware or point it directly at ORACLE_HOME; it needs local filesystem access and, if present, will use OPatch to verify whether a July 2024-or-later WLS bundle was applied.
#!/usr/bin/env bash
# check_cve_2024_21182.sh
# Detect likely exposure to CVE-2024-21182 on Oracle WebLogic Server.
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN, 3=usage/error
set -u
TARGET="${1:-}"
if [[ -z "$TARGET" ]]; then
echo "Usage: $0 <ORACLE_HOME|MIDDLEWARE_HOME>"
exit 3
fi
if [[ ! -d "$TARGET" ]]; then
echo "UNKNOWN - path does not exist: $TARGET"
exit 2
fi
ORACLE_HOME=""
if [[ -x "$TARGET/OPatch/opatch" ]]; then
ORACLE_HOME="$TARGET"
elif [[ -d "$TARGET/oracle_common" && -x "$TARGET/OPatch/opatch" ]]; then
ORACLE_HOME="$TARGET"
else
# Try to discover a child Oracle home with OPatch
CANDIDATE=$(find "$TARGET" -maxdepth 3 -type f -path '*/OPatch/opatch' 2>/dev/null | head -n 1)
if [[ -n "$CANDIDATE" ]]; then
ORACLE_HOME=$(dirname "$(dirname "$CANDIDATE")")
fi
fi
if [[ -z "$ORACLE_HOME" ]]; then
echo "UNKNOWN - could not locate ORACLE_HOME with OPatch under: $TARGET"
exit 2
fi
VERSION=""
REG1="$ORACLE_HOME/inventory/registry.xml"
REG2="$ORACLE_HOME/oui/registry.xml"
for REG in "$REG1" "$REG2"; do
if [[ -f "$REG" ]]; then
VERSION=$(grep -Eo 'version="(12\.2\.1\.4\.0|14\.1\.1\.0\.0)"' "$REG" | head -n 1 | cut -d'"' -f2)
[[ -n "$VERSION" ]] && break
fi
done
if [[ -z "$VERSION" ]]; then
# Fallback: search common files
VERSION=$(grep -R -Eo '12\.2\.1\.4\.0|14\.1\.1\.0\.0' "$ORACLE_HOME"/registry* "$ORACLE_HOME"/inventory* "$ORACLE_HOME"/oracle_common 2>/dev/null | head -n 1 || true)
fi
if [[ -z "$VERSION" ]]; then
echo "UNKNOWN - could not determine WebLogic version under $ORACLE_HOME"
exit 2
fi
if [[ "$VERSION" != "12.2.1.4.0" && "$VERSION" != "14.1.1.0.0" ]]; then
echo "PATCHED - installed version $VERSION is not in the affected set for CVE-2024-21182"
exit 0
fi
OPATCH="$ORACLE_HOME/OPatch/opatch"
if [[ ! -x "$OPATCH" ]]; then
echo "UNKNOWN - affected base version $VERSION found, but OPatch is unavailable"
exit 2
fi
INV=$($OPATCH lsinventory 2>/dev/null)
if [[ -z "$INV" ]]; then
echo "UNKNOWN - affected base version $VERSION found, but could not read OPatch inventory"
exit 2
fi
# Heuristics for July 2024-or-later WLS bundles.
# 12.2.1.4 public train includes SPB 12.2.1.4.240710 / PSU 12.2.1.4.240704.
# 14.1.1.0.0 requires July 2024 CPU-or-later cumulative WLS patch; we look for 2407xx+ bundle/PSU naming.
if [[ "$VERSION" == "12.2.1.4.0" ]]; then
if echo "$INV" | grep -Eq '12\.2\.1\.4\.(240710|2407[1-9][0-9]|240[89][0-9]{2}|24(10|11|12)[0-9]{2}|25[0-9]{4}|26[0-9]{4})|WLS PATCH SET UPDATE 12\.2\.1\.4\.(240704|2407[1-9][0-9]|240[89][0-9]{2}|24(10|11|12)[0-9]{2}|25[0-9]{4}|26[0-9]{4})'; then
echo "PATCHED - affected branch $VERSION detected, but OPatch inventory shows July 2024-or-later WLS patching"
exit 0
else
echo "VULNERABLE - affected branch $VERSION detected and no July 2024-or-later WLS CPU/SPB evidence found in OPatch inventory"
exit 1
fi
fi
if [[ "$VERSION" == "14.1.1.0.0" ]]; then
if echo "$INV" | grep -Eq '14\.1\.1\.0\.2407[0-9]{2}|14\.1\.1\.0\.240[89][0-9]{2}|14\.1\.1\.0\.24(10|11|12)[0-9]{2}|14\.1\.1\.0\.25[0-9]{4}|14\.1\.1\.0\.26[0-9]{4}|WLS STACK PATCH BUNDLE 14\.1\.1\.0\.2407[0-9]{2}|WLS PATCH SET UPDATE 14\.1\.1\.0\.2407[0-9]{2}|WLS STACK PATCH BUNDLE 14\.1\.1\.0\.24(08|09|10|11|12)[0-9]{2}|WLS STACK PATCH BUNDLE 14\.1\.1\.0\.25[0-9]{4}|WLS STACK PATCH BUNDLE 14\.1\.1\.0\.26[0-9]{4}'; then
echo "PATCHED - affected branch $VERSION detected, but OPatch inventory shows July 2024-or-later WLS patching"
exit 0
else
echo "VULNERABLE - affected branch $VERSION detected and no July 2024-or-later WLS CPU/SPB evidence found in OPatch inventory"
exit 1
fi
fi
echo "UNKNOWN - unable to classify installation"
exit 2
If you remember one thing.
12.2.1.4.0 and 14.1.1.0.0 instance as an incident-prevention priority: inventory them, confirm whether T3/IIOP is reachable, and patch / mitigate immediately, within hours because KEV overrides the normal noisgate mitigation SLA. The formal noisgate remediation SLA for this HIGH reassessment is ≤180 days, but that is not your operating target here—anything internet-facing or reachable from user/server segments should get emergency containment today and the actual Oracle July 2024 CPU-or-later patch in the same response window if change control allows.Sources
- Oracle Critical Patch Update Advisory - July 2024
- NVD CVE-2024-21182
- CISA Known Exploited Vulnerabilities Catalog
- Oracle WebLogic Cloud default ports guidance
- Oracle WebLogic Server Stack Patch Bundle 12.2.1.4.240710 details
- CIRCL vulnerability lookup for CVE-2024-21182
- Public PoC repository
- BleepingComputer report citing current Shodan exposure counts
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.