← Back to Feed CACHED · 2026-10-01 08:27:23 · CACHE_KEY CVE-2026-35273
CVE-2026-35273 · CWE-502 · Disclosed 2026-06-10

Oracle PeopleSoft PeopleTools PSEMHUB Unauthenticated Java Deserialization RCE

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

An unlocked back door to your payroll vault that burglars are already walking through

CVE-2026-35273 is an unauthenticated remote code execution vulnerability in Oracle PeopleSoft Enterprise PeopleTools versions 8.61 and 8.62, residing in the Updates Environment Management component. The /PSEMHUB/hub endpoint accepts HTTP POST requests containing serialized Java objects and deserializes them *before any authentication check*. An attacker chains gadget classes already present on the PeopleSoft classpath to achieve arbitrary command execution on the web-tier host. A secondary SSRF via /PSIGW/HttpListeningConnector amplifies impact by reaching internal services. The attack requires no credentials, no user interaction, and lands over plain HTTP — the textbook definition of a trivially weaponizable bug. Oracle released an emergency out-of-band patch on June 10, 2026, the same day it published its security alert.

Oracle's CRITICAL / 9.8 rating is *exactly right* — and if anything, understates operational risk. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) accurately captures the unauthenticated, low-complexity, full-impact nature of the flaw. But CVSS cannot encode the fact that ShinyHunters (UNC6240) exploited this as a zero-day for two weeks before the patch existed, breaching over 100 organizations — 68% of them universities — and exfiltrating sensitive data before anyone knew. A second wave in September 2026 added a WAF-bypass technique (URL-encoding /%50SEMHUB/ to evade path-matching rules), proving that even organizations that deployed perimeter controls were not safe. PeopleSoft systems canonically hold payroll, benefits, financial, and student records — every instance *is* the high-value target.

"Unauthenticated RCE actively exploited at scale by ShinyHunters. Patch immediately."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Discover internet-facing PeopleSoft instance

The attacker queries Shodan, Censys, or FOFA for HTTP responses containing PeopleSoft signatures (e.g., PSEMHUB, PIA login pages). Many PeopleSoft deployments expose their web tier to the internet for employee self-service, campus portals, or vendor access. ShinyHunters demonstrably used this reconnaissance method to build their target list.
Conditions required:
  • Target PeopleSoft web tier reachable over HTTP/HTTPS from the internet or attacker-accessible network
Where this breaks in practice:
  • Organizations that restrict PeopleSoft to VPN-only or internal-only access are not directly reachable — but the 100+ breaches prove this is a minority configuration
Detection/coverage: Shodan/Censys queries for PeopleSoft signatures can identify your own exposure. Qualys QID 387611 detects the vulnerable configuration.
STEP 02

Send malicious deserialization payload to /PSEMHUB/hub

The attacker sends an HTTP POST to /PSEMHUB/hub with a crafted OPERATION parameter containing a serialized Java object. The server deserializes this object *before* performing any authentication. Available gadget chains on the PeopleSoft/WebLogic classpath allow arbitrary command execution. Public PoC code (GitHub: 12hrformat/CVE-2026-35273-POC) automates this step. The September 2026 campaign used URL encoding (/%50SEMHUB/) to bypass WAF path-matching rules.
Conditions required:
  • HTTP POST access to the /PSEMHUB/hub endpoint
  • PSEMHUB web application deployed (it is deployed by default)
Where this breaks in practice:
  • If PSEMHUB has been explicitly removed from WebLogic deployments, the endpoint does not exist — but this is not a default configuration and most administrators do not remove it
Detection/coverage: WAF rules matching /PSEMHUB/ paths (ensure URL-decoded matching to defeat %50 bypass). IPS signatures: TrendAI IPS Rule 1012580, DDI Rule 5855. Monitor HTTP POST requests to /PSEMHUB/hub and /PSIGW/HttpListeningConnector from external IPs.
STEP 03

Achieve arbitrary code execution on the web tier

The deserialized gadget chain executes attacker-supplied OS commands under the WebLogic service account (typically a privileged local account). The attacker now has a foothold on the PeopleSoft web-tier server. In observed campaigns, ShinyHunters dropped JSP webshells (randomized filenames like x7k9p2a.jsp, cmd.jsp) into PSEMHUB.war directories and established XMLDecoder-based persistence mechanisms.
Conditions required:
  • Successful deserialization (step 2)
  • WebLogic service account has OS-level command execution privileges (standard)
Where this breaks in practice:
  • Application-level sandboxing or Java Security Manager policies could theoretically restrict deserialization — but these are almost never configured in PeopleSoft deployments
Detection/coverage: EDR/AV on the PeopleSoft host detecting child processes spawned by the WebLogic Java process. File integrity monitoring for new .jsp files in PSEMHUB.war directories. Look for Runtime.getRuntime().exec or ProcessBuilder in newly created files.
STEP 04

Deploy persistent remote access tooling

ShinyHunters deployed MeshCentral remote management agents (meshagent64-azure-ops.exe) masquerading as Azure services, configured for C2 at wss://azurenetfiles[.]net:443/agent.ashx. This provided persistent, encrypted remote access independent of the initial webshell. The use of a legitimate remote management tool makes detection harder.
Conditions required:
  • Code execution on the host (step 3)
  • Outbound HTTPS (TCP 443) allowed from the PeopleSoft server
Where this breaks in practice:
  • Strict egress filtering that blocks outbound connections to unknown destinations would prevent C2 establishment — but most PeopleSoft servers need outbound HTTPS for patching and integrations
Detection/coverage: EDR behavioral detection of remote management tools. Network monitoring for connections to known C2 infrastructure (142.11.200.186-190, azurenetfiles.net). DNS monitoring for the C2 domain.
STEP 05

Access PeopleSoft database and exfiltrate data

With code execution on the web tier, the attacker reads database connection strings from PeopleSoft configuration files (typically in psappsrv.cfg or WebLogic data sources). These credentials provide direct access to the PeopleSoft database containing HR records, payroll data, financial transactions, student records, and PII. ShinyHunters exfiltrated this data and published it on their leak site on June 9, 2026.
Conditions required:
  • Persistent access on the web tier (step 4)
  • Database credentials stored in configuration files (standard PeopleSoft architecture)
Where this breaks in practice:
  • Database access controls that restrict connections to specific service accounts/IPs could limit lateral movement — but the web tier is an authorized database client by design
Detection/coverage: Database activity monitoring for unusual query patterns or bulk data extraction. DLP controls on the PeopleSoft server monitoring for large outbound data transfers.
03 · Compensating Control

1
CRITICAL 9.8→LOW 2.0
SEVERITY REDUCED
Remove or force-stop PSEMHUB from WebLogic deployments — In the WebLogic console, navigate to Domain Structure → Deployments, select PSEMHUB, click Stop (Force Stop Now), then Delete. This eliminates the vulnerable endpoint entirely without impacting user-facing PIA services. The Environment Management Hub is a diagnostics/update-management component — removing it does not affect core PeopleSoft HR/Finance functionality. Deploy within 3 days per the noisgate mitigation SLA for CRITICAL. However, given active KEV listing and ongoing exploitation campaigns, deploy within hours.
2
CRITICAL 9.8→MEDIUM 5.5
SEVERITY REDUCED
Block /PSEMHUB/ and /PSIGW/ paths at the reverse proxy with URL-decoded matching — Configure your reverse proxy (Nginx, F5, Apache) to deny all external traffic to /PSEMHUB/ and /PSIGW/HttpListeningConnector. Critical: ensure the rule matches *after* URL decoding to defeat the /%50SEMHUB/ bypass used in the September 2026 campaign. Restrict access to internal admin subnets only. This is a secondary control — removing PSEMHUB is preferred. Deploy within 3 days (CRITICAL mitigation SLA), but immediately given KEV status.
3
CRITICAL 9.8→HIGH 8.0
SEVERITY REDUCED
Block outbound SMB (TCP 445) and restrict egress from PeopleSoft servers — The SSRF component of the attack chain forces outbound SMB connections (TCP 445) to capture NetNTLM hashes. Block all outbound SMB at the host firewall and network perimeter. Additionally, restrict outbound HTTPS to known-good destinations to prevent C2 establishment. This does not prevent the initial RCE but limits post-exploitation capabilities. Deploy within 3 days.
4
CRITICAL 9.8→CRITICAL 9.0
Deploy IOC-based detection for ShinyHunters TTPs — Add the following to your SIEM/EDR blocklists and detection rules: C2 IPs 142.11.200.186-190, domain azurenetfiles.net, file hashes f02a924c9ff92a8780ce812511341182c6b509d45bc59f3f7b522e37225d24fc and d83fdb9e53c5ff03c4cb0451ea1bebd79b53f29eadc1e2fa394c7af13a86ce2f. Hunt for new JSP files in PSEMHUB.war directories and for processes spawned by the WebLogic Java process. This is detection, not prevention — it catches known campaign artifacts but not novel payloads. Deploy within 3 days.
5
CRITICAL 9.8→IGNORE 0.0
SEVERITY REDUCED
Apply Oracle patch (8.61.08+ or 8.62.02+) — Apply the vendor patch from Oracle's Security Alert page. PeopleTools 8.61 requires Patch 8.61.08+ with WebLogic PIA domain redeployment. PeopleTools 8.62 requires Patch 8.62.02+ with WebLogic binary updates. This is the definitive fix. Per the noisgate remediation SLA for CRITICAL, complete patching within 90 days — but given KEV listing and active exploitation, prioritize immediate deployment after testing.
What doesn't work
  • String-based WAF rules on /PSEMHUB/ path — ShinyHunters demonstrated in September 2026 that replacing P with %50 bypasses WAF rules that match literal paths before URL decoding. Only URL-decoded matching is effective.
  • Network segmentation alone — Many PeopleSoft instances must be internet-facing for employee/student self-service. Moving to VPN-only access may not be operationally feasible and breaks legitimate user workflows.
  • Java Security Manager policies — While theoretically capable of restricting deserialization, PeopleSoft does not ship with a Security Manager policy and Oracle does not support running with one. Enabling it will break PeopleSoft functionality.
  • Patching WebLogic independently — The vulnerable deserialization is in PeopleSoft's PSEMHUB application code, not in WebLogic itself. WebLogic patches do not address this CVE.
04 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationConfirmed, active. Mandiant attributed zero-day exploitation to ShinyHunters (UNC6240) from May 27 – June 9, 2026, breaching 100+ organizations. A renewed mass-exploitation campaign launched in September 2026 with a WAF-bypass technique. CISA KEV-listed June 12, 2026. This is not theoretical — it is happening now.
PoC availabilityPublic. GitHub repo 12hrformat/CVE-2026-35273-POC — Python-based scanner/exploit. ZDI advisory ZDI-26-387 published. Community PoC aggregator SecureWithUmer/CVE-2026-PoCs also references this CVE.
EPSS0.09444 (94th percentile) — top 6% of all CVEs by exploitation probability. Despite the seemingly modest raw score, this is very high for EPSS and consistent with active exploitation.
KEV statusListed June 12, 2026 — two days after Oracle's emergency patch. CISA BOD 22-01 mandates federal agencies patch within the KEV deadline.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — 9.8 Critical. Every base metric is at its worst value except Scope (Unchanged). CVSSv2 rates it 10.0. The vector accurately reflects the no-auth, no-interaction, full-impact attack surface.
Affected versionsPeopleTools 8.61 (all builds before 8.61.08) and 8.62 (all builds before 8.62.02). Earlier unsupported releases are likely affected but untested by Oracle.
Fixed versionsPeopleTools 8.61.08+ (requires WebLogic PIA domain redeployment) and 8.62.02+ (requires WebLogic binary updates). Out-of-band patch released June 10, 2026.
Scanning/exposureShinyHunters used Shodan and Censys to identify internet-facing PeopleSoft instances. Qualys detection: QID 387611. Rapid7 InsightVM/Nexpose checks released June 12, 2026. Many PeopleSoft deployments are internet-facing for employee/student self-service.
Threat actor TTPsUNC6240 (ShinyHunters): Post-exploitation deploys MeshCentral agents masquerading as Azure services (meshagent64-azure-ops.exe), C2 at wss://azurenetfiles[.]net:443/agent.ashx, IP range 142.11.200[.]186-190. JSP webshells and XMLDecoder persistence in PSEMHUB.war directories. September 2026 campaign uses /%50SEMHUB/ URL encoding to bypass WAF path rules.
Disclosure & attributionZero-day exploitation discovered by Mandiant (published June 11, 2026). Oracle emergency security alert June 10, 2026. ZDI advisory ZDI-26-387. Affected sectors: higher education (68%), healthcare, government, technology.

Sources.

  1. Rapid7 ETR — Active Exploitation of Oracle PeopleSoft Zero-Day
  2. Oracle Security Alert Advisory — CVE-2026-35273
  3. Qualys ThreatPROTECT — Defending Against the PSEMHUB Authentication Bypass
  4. Picus Security — CVE-2026-35273 Oracle PeopleSoft RCE Zero-Day Explained
  5. Arctic Wolf — ShinyHunters Campaign Analysis
  6. Aviatrix — ShinyHunters WAF Bypass Attack Analysis
  7. DBPros — CVE-2026-35273 Triage Runbook
  8. Tenable — CVE-2026-35273
05 · The Call

Final Verdict
= UNCHANGED to CRITICAL (9.8/10)

Why this verdict

  • Zero friction on the attack chain. The vulnerability is unauthenticated, requires no user interaction, and has low attack complexity. The PSEMHUB endpoint is deployed by default. Every prerequisite in the chain is met by a standard PeopleSoft installation reachable over the network. There is no compounding downward pressure from prerequisites — this is a straight shot to RCE.
  • Confirmed mass exploitation with public tooling. ShinyHunters (UNC6240) exploited this as a zero-day for two weeks before any patch existed, breaching 100+ organizations. A public PoC exists on GitHub. A *second* exploitation wave in September 2026 demonstrated WAF-bypass capabilities, meaning even perimeter-defended targets are at risk. This is not a theoretical chain — it is a documented, repeatable, actively-used attack.
  • Internet-facing attack surface is the norm. PeopleSoft is commonly exposed to the internet for HR self-service, campus portals, benefits enrollment, and vendor access. ShinyHunters used Shodan/Censys to systematically find targets. The attacker position required (unauthenticated remote over HTTP) matches the standard deployment model.
  • Role multiplier: PeopleSoft is *canonically* a high-value application. 100% of PeopleSoft installations serve as production ERP/HCM/financial systems holding PII, payroll, benefits, tax records, and (in education) FERPA-protected student data. The chain succeeds on every standard PeopleSoft deployment. The blast radius is mass data egress (demonstrated: ShinyHunters published stolen data on their leak site), database compromise (web-tier RCE → read database credentials from config → full database access), and lateral movement to connected systems. The affected component is definitionally a high-value-role component — the verdict floor is CRITICAL.
  • Compensating controls are bypassable. The September 2026 campaign proved that string-based WAF rules on /PSEMHUB/ can be bypassed with URL encoding. The only reliable mitigations are patching or completely removing the PSEMHUB deployment from WebLogic.

Why not higher?

CVSS 9.8 is effectively the ceiling for Scope:Unchanged vulnerabilities. The Scope metric is correctly Unchanged because exploitation compromises the PeopleSoft web tier — not the underlying hypervisor or a different security domain boundary. A 10.0 would require Scope:Changed. The operational severity is arguably worse than 9.8 due to active mass exploitation, but the scoring framework caps here.

Why not lower?

Every friction-based argument for downgrading fails. The attack is unauthenticated (no prior access needed), the endpoint is deployed by default (no special configuration), the target is commonly internet-facing (not limited to internal networks), public exploit code exists, and the threat actor has demonstrated WAF bypass capabilities. PeopleSoft is canonically a high-value target containing regulated PII/financial data, and the blast radius of mass data egress has been *empirically demonstrated* across 100+ organizations. There is no basis for any downward adjustment.

06 · Verification

Crowdsourced verification payload.

Run this script from any Linux/macOS workstation (or WSL) that has network access to the target PeopleSoft instance. No special privileges required. Invoke with: bash check_cve_2026_35273.sh https://peoplesoft.example.com

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_cve_2026_35273.sh — Detect CVE-2026-35273 (Oracle PeopleSoft PSEMHUB RCE)
# Usage: bash check_cve_2026_35273.sh <BASE_URL>
# Exit codes: 0 = VULNERABLE, 1 = PATCHED, 2 = UNKNOWN

set -euo pipefail

if [ $# -lt 1 ]; then
  echo "Usage: $0 <BASE_URL>"
  echo "Example: $0 https://peoplesoft.example.com"
  exit 2
fi

BASE_URL="${1%/}"

echo "[*] Checking CVE-2026-35273 against: $BASE_URL"
echo "[*] Testing PSEMHUB endpoint reachability..."

# Test 1: Check if /PSEMHUB/hub endpoint is reachable (returns HTTP 200)
HTTP_CODE_HUB=$(curl -sk -o /dev/null -w "%{http_code}" --max-time 10 "${BASE_URL}/PSEMHUB/hub" 2>/dev/null || echo "000")
echo "[*] /PSEMHUB/hub returned HTTP $HTTP_CODE_HUB"

# Test 2: Check URL-encoded variant (WAF bypass path)
HTTP_CODE_BYPASS=$(curl -sk -o /dev/null -w "%{http_code}" --max-time 10 "${BASE_URL}/%50SEMHUB/hub" 2>/dev/null || echo "000")
echo "[*] /%50SEMHUB/hub (WAF bypass) returned HTTP $HTTP_CODE_BYPASS"

# Test 3: Check /PSIGW/HttpListeningConnector
HTTP_CODE_PSIGW=$(curl -sk -o /dev/null -w "%{http_code}" --max-time 10 "${BASE_URL}/PSIGW/HttpListeningConnector" 2>/dev/null || echo "000")
echo "[*] /PSIGW/HttpListeningConnector returned HTTP $HTTP_CODE_PSIGW"

# Test 4: Check PeopleTools version from sign-in page (if visible)
VERSION_INFO=$(curl -sk --max-time 10 "${BASE_URL}/psp/ps/?cmd=login" 2>/dev/null | grep -oP 'PeopleTools\s+\K[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown")
echo "[*] Detected PeopleTools version: $VERSION_INFO"

# Evaluation logic
if [ "$HTTP_CODE_HUB" = "000" ] && [ "$HTTP_CODE_BYPASS" = "000" ]; then
  echo ""
  echo "UNKNOWN — Could not connect to $BASE_URL. Verify the URL and network connectivity."
  exit 2
fi

VULN=0

# PSEMHUB endpoint accessible = vulnerable (unless patched version detected)
if [ "$HTTP_CODE_HUB" = "200" ] || [ "$HTTP_CODE_BYPASS" = "200" ]; then
  VULN=1
  echo "[!] PSEMHUB endpoint is accessible from the network."
fi

if [ "$HTTP_CODE_BYPASS" = "200" ] && [ "$HTTP_CODE_HUB" != "200" ]; then
  echo "[!] WARNING: WAF bypass path (/%50SEMHUB/) reaches the endpoint even though /PSEMHUB/ is blocked."
  echo "[!] Your WAF is NOT performing URL-decoded path matching."
fi

# Version check
if [ "$VERSION_INFO" != "unknown" ]; then
  MAJOR=$(echo "$VERSION_INFO" | cut -d. -f1-2)
  PATCH=$(echo "$VERSION_INFO" | cut -d. -f3)
  if [ "$MAJOR" = "8.61" ] && [ "$PATCH" -lt 8 ] 2>/dev/null; then
    VULN=1
    echo "[!] PeopleTools $VERSION_INFO is below patched version 8.61.08."
  elif [ "$MAJOR" = "8.62" ] && [ "$PATCH" -lt 2 ] 2>/dev/null; then
    VULN=1
    echo "[!] PeopleTools $VERSION_INFO is below patched version 8.62.02."
  elif [ "$MAJOR" = "8.61" ] && [ "$PATCH" -ge 8 ] 2>/dev/null; then
    echo "[+] PeopleTools $VERSION_INFO appears patched (>= 8.61.08)."
    if [ "$HTTP_CODE_HUB" = "200" ] || [ "$HTTP_CODE_BYPASS" = "200" ]; then
      echo "[!] WARNING: Patched version detected but PSEMHUB endpoint is still accessible."
      echo "[!] Verify patch was fully applied and PIA domain was redeployed."
      VULN=1
    fi
  elif [ "$MAJOR" = "8.62" ] && [ "$PATCH" -ge 2 ] 2>/dev/null; then
    echo "[+] PeopleTools $VERSION_INFO appears patched (>= 8.62.02)."
    if [ "$HTTP_CODE_HUB" = "200" ] || [ "$HTTP_CODE_BYPASS" = "200" ]; then
      echo "[!] WARNING: Patched version detected but PSEMHUB endpoint is still accessible."
      echo "[!] Verify patch was fully applied and WebLogic binaries were updated."
      VULN=1
    fi
  fi
fi

echo ""
if [ $VULN -eq 1 ]; then
  echo "VULNERABLE — CVE-2026-35273: PSEMHUB endpoint is reachable and/or PeopleTools version is unpatched."
  echo "ACTION: Remove PSEMHUB from WebLogic deployments immediately. Apply Oracle patch 8.61.08+ / 8.62.02+."
  exit 0
elif [ "$HTTP_CODE_HUB" = "403" ] || [ "$HTTP_CODE_HUB" = "404" ] || [ "$HTTP_CODE_HUB" = "401" ]; then
  if [ "$HTTP_CODE_BYPASS" = "403" ] || [ "$HTTP_CODE_BYPASS" = "404" ] || [ "$HTTP_CODE_BYPASS" = "401" ] || [ "$HTTP_CODE_BYPASS" = "000" ]; then
    echo "PATCHED — PSEMHUB endpoint is not accessible (HTTP $HTTP_CODE_HUB). Mitigation or patch appears applied."
    exit 1
  fi
fi

echo "UNKNOWN — Could not conclusively determine vulnerability status. Manual verification required."
echo "Check: (1) PeopleTools version via PIA admin, (2) PSEMHUB deployment status in WebLogic console."
exit 2