An unlocked side door on the loading dock of the company's payment processor — and someone is already walking through it
CVE-2026-46817 is a pre-authentication remote takeover in the Oracle Payments product of Oracle E-Business Suite, specifically the File Transmission servlet exposed at /OA_HTML/ibytransmit. A crafted XML DeliveryRequest payload sent over HTTP/HTTPS is enough to compromise confidentiality, integrity and availability of the Payments component without credentials, MFA, or any user interaction. CWE-269 (improper privilege management) plus the unauthenticated network reach is what drives the 9.8. Affected versions span EBS 12.2.3 through 12.2.15 — effectively every supported 12.2 customer.
Oracle's CRITICAL/9.8 label is accurate and we are not adjusting it down. EBS is a tier-1 financial system: it holds the AP/AR ledger, vendor master, banking instructions and EFT/ACH files. The component that took the hit is the one that talks to banks. Combine that blast radius with confirmed in-the-wild exploitation as of 27–28 June 2026 (honeypot hits on /OA_HTML/ibytransmit in NA and APAC) and a private-only exploit in operator hands, and this is a real CRITICAL, not a paper one.
5 steps from start to impact.
Discover an exposed EBS instance
/OA_HTML/AppsLogin or /OA_HTML/RF.jsp and matching the EBS 12.2.x banner. Shodan, Censys, FOFA and the operator's own honeypot-inverse scans all enumerate EBS trivially.- EBS 12.2.3–12.2.15 reachable on TCP/443 or TCP/8000
- No upstream WAF rule blocking
/OA_HTML/unauthenticated paths
- Mature shops front EBS with F5/NetScaler and IP-allowlist the OA_HTML tree
- Many EBS estates are internal-only behind VPN/ZTNA
http.html:"E-Business Suite" reliably enumerate; Tenable plugin 318806 fingerprints versionSend crafted XML DeliveryRequest to ibytransmit
DeliveryRequest payload to /OA_HTML/ibytransmit. The File Transmission servlet processes the payload under elevated context without enforcing authentication, triggering the CWE-269 privilege defect. No public PoC has dropped yet — observed traffic suggests a privately developed exploit kit.- Direct TCP reach to the EBS web tier
- Servlet
ibytransmitenabled (default in standard Payments deployments)
- Hardened estates disable the unused File Transmission endpoint in
mod_rewrite/URL allowlists - TLS client-cert pinning on Payments interfaces blocks generic POSTs
POST /OA_HTML/ibytransmit with Content-Type: text/xml and DeliveryRequest root element — high-fidelity IOCPivot from Payments servlet to application context
- Step 2 succeeds
- Application tier filesystem readable to the oracle/applmgr user
- EBS apps tier hardened with SELinux/AppArmor confinement (rare in practice)
- Outbound egress from EBS app tier blocked at perimeter — slows data exfil but not local compromise
httpd/OPMN workersReach APPS schema and downstream banking pipeline
- DB tier reachable from apps tier (always true by design)
- No row-level audit on AP_SUPPLIER_SITES_ALL / IBY_EXT_BANK_ACCOUNTS
- Segregation of duties / 4-eyes approval on payment batches catches some fraud at release
- Bank-side positive pay matching catches anomalous beneficiaries
Data theft / extortion / wire fraud
- Steps 1–4 succeed
- Treasury workflows that require dual approval on beneficiary changes
- Mandatory pre-note (penny test) for new bank routing details
The supporting signals.
| In-the-wild status | Active exploitation confirmed 27–28 June 2026 — honeypot captures of /OA_HTML/ibytransmit POSTs with malicious DeliveryRequest XML. ~456 hits on 28-Jun (NA 193, APAC 181). |
|---|---|
| Proof-of-concept | No public PoC as of 30-Jun-2026. Exploit appears privately developed; no GitHub/ExploitDB entries. |
| EPSS | 0.00418 (low percentile) — stale and unreliable; EPSS lags real-world exploitation by days to weeks. Discount it here. |
| KEV status | Not yet KEV-listed as of 30-Jun-2026 — expect CISA to add within the week given active exploitation. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — unauthenticated, network-reachable, no UI, full CIA loss. The vector matches reality. |
| Affected versions | Oracle E-Business Suite 12.2.3 → 12.2.15 (entire supported 12.2 line) |
| Fixed in | May 2026 Critical Security Patch Update (released 28-May-2026), reinforced by supplementary June 2026 CSPU (16-Jun-2026) |
| Exposure data | Shodan/Censys consistently return 2k–4k internet-exposed EBS 12.2 web tiers; most enterprise EBS sits internal but a non-trivial slice is on the perimeter for supplier portals |
| Disclosure | 2026-05-28 via Oracle CSPU advisory |
| Reporter / discovery | Oracle did not credit an external researcher in the CSPU; honeypot detection of in-the-wild activity reported by multiple vendors over 27–28 Jun 2026 |
noisgate verdict.
Verdict stays at CRITICAL because the prerequisite chain is unauthenticated + network + no UI and exploitation is *already happening in the wild* against the financial system of record. The single most decisive factor is the role multiplier: the affected component is the Payments module — successful exploitation lands the attacker directly in the bank-instruction pipeline of every customer running 12.2.x, which is the canonical high-value role for this product.
Why this verdict
- Unauthenticated pre-auth RCE-class flaw — PR:N, UI:N, AC:L. The friction audit yields zero credential or interaction barriers. Baseline 9.8 stays.
- Role multiplier: EBS Payments IS the canonical high-value role for this software — there is no "low-value deployment" of Oracle Payments. 100% of installs sit on the financial transaction pipeline. Successful chain = vendor master + bank routing + ACH/EFT file generation in attacker hands. Verdict floor is CRITICAL.
- Active in-the-wild exploitation confirmed 27–28 Jun 2026 across NA and APAC honeypots. Private exploit kit in operator hands; expect commoditization within days.
- Wide affected range (12.2.3–12.2.15) = essentially the entire supported customer base. There is no narrow version window to hide behind.
- Exposure exists in the wild — Shodan/Censys report low-thousands of internet-facing EBS web tiers despite best practice saying it should be internal. Patient zero population is non-zero.
Why not higher?
CRITICAL is already the top severity bucket; nothing to escalate to. We are anchored at the CVSS ceiling of 9.8 because Scope is Unchanged — a Scope:Changed variant (e.g. proven cross-tenant escape from Payments into Financials/HR) would push to 10.0, but Oracle has not published that.
Why not lower?
We cannot drop to HIGH because (a) the chain is fully pre-auth, (b) exploitation is already observed in the wild, and (c) the affected component is by definition a tier-1 financial system. None of the usual downgrade levers (auth required, narrow versions, low-blast-radius role, low exposure) apply. A friction-only downgrade would violate the role-multiplier floor explicitly defined for canonical high-value-role software.
What to do — in priority order.
- Block
/OA_HTML/ibytransmitat the WAF/reverse proxy immediately — Drop POST requests to this path from any source not on an explicit treasury/bank-partner allowlist. This is the only known live vector — surgical, low-risk, deployable in under an hour. Do this within the noisgate mitigation SLA of 3 days (target: today). - Remove EBS web tier from public internet exposure — If your EBS web tier is reachable from 0.0.0.0/0, place it behind a VPN, ZTNA broker, or partner-only IP allowlist. Use Shodan/Censys to verify your own org's footprint. Same 3-day mitigation window.
- Apply the May 2026 (or supplementary June 2026) CSPU — This is the actual fix. Schedule the application-tier patch + AD-relink within the noisgate remediation SLA of 90 days, but given active exploitation, treat as immediate — aim for the next change window, not the 90-day backlog.
- Hunt for IOCs in web access logs — Grep last 90 days of EBS access logs for
POST /OA_HTML/ibytransmitwithContent-Type: text/xmlorapplication/xml. Any hit not from a known bank-integration source = incident. Engage IR if found. - Database auditing on IBY/AP schemas — Enable fine-grained audit on
IBY_EXT_BANK_ACCOUNTS,AP_SUPPLIER_SITES_ALL,IBY_PAY_INSTRUCTIONS_ALL. Forward audit trail to SIEM. Detects post-exploit beneficiary tampering even if the initial RCE was missed.
- MFA on EBS application logins — the vulnerable servlet is pre-auth; MFA never gets a chance to challenge.
- Disabling user accounts / SSO lockdown — same reason; the attacker never authenticates.
- WAF generic OWASP CRS rules — the malicious payload is well-formed XML to a legitimate Oracle endpoint. Only an explicit path/method block at
/OA_HTML/ibytransmitworks. - Network IDS signatures alone — no public PoC means no community Snort/Suricata signature yet; do not rely on signature-based detection as your primary control.
Crowdsourced verification payload.
Run on an auditor workstation with network reach to your EBS web tier (HTTPS). Invoke as ./check-cve-2026-46817.sh https://ebs.example.com. Needs no credentials — it fingerprints version banner and probes whether the vulnerable endpoint is reachable. Does NOT send an exploit payload.
#!/usr/bin/env bash
# noisgate verification — CVE-2026-46817 (Oracle EBS Payments File Transmission)
# Safe, non-exploitative check. Exits VULNERABLE / PATCHED / UNKNOWN.
set -u
if [ $# -ne 1 ]; then
echo "Usage: $0 <https://ebs-host>" >&2
exit 2
fi
TARGET="${1%/}"
UA="noisgate-verify/1.0"
TMP=$(mktemp)
trap 'rm -f "$TMP"' EXIT
# 1) Confirm host is Oracle EBS
HTTP_CODE=$(curl -ks -o "$TMP" -w '%{http_code}' -A "$UA" --max-time 10 "$TARGET/OA_HTML/AppsLogin")
if ! grep -qi 'E-Business Suite\|Oracle Applications' "$TMP"; then
echo "UNKNOWN: target does not look like Oracle EBS (HTTP $HTTP_CODE)"
exit 3
fi
# 2) Extract version from the AppsLogin / RF.jsp banner if possible
VERSION=$(grep -oE '12\.2\.[0-9]+' "$TMP" | head -1)
if [ -z "$VERSION" ]; then
curl -ks -o "$TMP" -A "$UA" --max-time 10 "$TARGET/OA_HTML/RF.jsp"
VERSION=$(grep -oE '12\.2\.[0-9]+' "$TMP" | head -1)
fi
# 3) Probe whether the vulnerable endpoint is reachable (HEAD only, NO payload)
IBY_CODE=$(curl -ks -o /dev/null -w '%{http_code}' -A "$UA" --max-time 10 -X HEAD "$TARGET/OA_HTML/ibytransmit")
echo "Detected EBS version: ${VERSION:-unknown}"
echo "ibytransmit endpoint HTTP code: $IBY_CODE"
# 4) Decision logic
# Affected: 12.2.3 .. 12.2.15 and endpoint reachable (non-404, non-403)
if [ -n "$VERSION" ]; then
MINOR=${VERSION##12.2.}
if [ "$MINOR" -ge 3 ] && [ "$MINOR" -le 15 ]; then
if [ "$IBY_CODE" != "404" ] && [ "$IBY_CODE" != "403" ]; then
echo "VULNERABLE: version $VERSION in affected range and /OA_HTML/ibytransmit is reachable. Apply May 2026 CSPU or block the endpoint NOW."
exit 1
else
echo "PATCHED-OR-MITIGATED: version $VERSION in affected range but ibytransmit endpoint not reachable ($IBY_CODE). Verify CSPU patch level via adop."
exit 0
fi
else
echo "PATCHED: version $VERSION outside affected 12.2.3-12.2.15 range."
exit 0
fi
fi
echo "UNKNOWN: could not determine EBS version; run adop -status on the apps tier and confirm May 2026 CSPU is applied."
exit 3
If you remember one thing.
/OA_HTML/ibytransmit at your WAF/F5 *within hours* and verify your EBS web tier is not internet-exposed; (2) grep 90 days of access logs for that endpoint — any hit is an incident, engage IR; (3) per the noisgate remediation SLA (90 days for CRITICAL, but accelerated by KEV-class exploitation), schedule the May 2026 CSPU (or supplementary June 2026 CSPU) into the next change window — do not let this sit in a quarterly backlog. If you cannot patch this week, the WAF block is your survival control.Sources
- Oracle Critical Security Patch Update — May 2026
- BleepingComputer — Hackers now exploit critical Oracle E-Business flaw
- Cyber Security News — Oracle E-Business Flaw Actively Exploited
- NHS England Digital — Exploited Critical Vulnerability in Oracle Payments
- CSA Singapore — Multiple Critical Vulnerabilities in Oracle Products
- CCB Belgium — Multiple Vulnerabilities in Oracle Products
- Tenable plugin 318806 — Oracle EBS May 2026 CSPU
- CIO — Oracle's first monthly patch release fixes 35 flaws
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.