
Correção real do Zimbra CVE-2024-45519 - O patch oficial está incompleto
Correção real do Zimbra para CVE-2024-45519 - O patch oficial está incompleto
CVE-2024-45519 é uma vulnerabilidade crítica de RCE (CVSS 9.8) na Zimbra Collaboration Suite. Muitos administradores acham que não estão protegidos após aplicar o patch oficial. Este documento esclarece a situação real.
CVE-2024-45519 permite execução remota de comandos não autenticada por meio do serviço postjournal
na porta 10027.
Após investigação durante uma resposta a incidentes, podemos confirmar que:
Aplicar o patch p46/p47 + desativar o postjournal é suficiente:
zmlocalconfig -e postjournal_enabled=false
zmcontrol restart
O patch substitui a vulnerável popen() por execvp() no binário do postjournal,
impedindo a injeção de comandos mesmo quando a porta 10027 está aberta.
A porta 10027 é necessária para o fluxo de correio do Zimbra. Fechá-la quebrará a entrega de mensagens:
# DO NOT DO THIS - it will break your mail server!
# sed -i 's/^\[%%zimbraLocalBindAddress%%\]:10027 inet/#...' master.cf.in
Teste se a vulnerabilidade foi corrigida:
printf "EHLO probe.test\r\nMAIL FROM:<[email protected]>\r\nRCPT TO:<x: \$(echo TEST > /opt/zimbra/mailboxd/webapps/zimbra/public/test.txt)>\r\nQUIT\r\n" \
| nc 127.0.0.1 25
# Expected: 555 5.5.4 Unsupported option OR 501 5.1.3 Bad recipient address syntax
# Verify file was NOT created:
ls /opt/zimbra/mailboxd/webapps/zimbra/public/test.txt
# Expected: No such file or directory = PATCHED ✅
# Regenerate PreAuth Key
su - zimbra -c "zmprov generateDomainPreAuthKey -f yourdomain.com"
# Monitor for webshells every 5 minutes
cat > /root/check_webshell.sh << 'EOF'
#!/bin/bash
WEBDIR="/opt/zimbra/mailboxd/webapps/zimbra/public"
ALERT_EMAIL="[email protected]"
LOGFILE="/var/log/webshell_check.log"
if [ -f "$WEBDIR/version.txt" ]; then
echo "$(date) - ALERT: version.txt detected!" >> $LOGFILE
rm -f "$WEBDIR/version.txt"
echo "SECURITY ALERT: version.txt detected on $(hostname)" | \
/opt/zimbra/common/sbin/sendmail -f [email protected] $ALERT_EMAIL
fi
find "$WEBDIR" -maxdepth 1 -name "*.jsp" -newer "$WEBDIR/login.jsp" -type f | while read f; do
echo "$(date) - ALERT: Suspicious JSP: $f" >> $LOGFILE
rm -f "$f"
echo "SECURITY ALERT: Suspicious file $f detected" | \
/opt/zimbra/common/sbin/sendmail -f [email protected] $ALERT_EMAIL
done
EOF
chmod +x /root/check_webshell.sh
echo "*/5 * * * * root /root/check_webshell.sh" > /etc/cron.d/check_webshell
| Versão | Status |
|---|---|
| Zimbra 8.8.15 antes do p46 | Vulnerável |
| Zimbra 8.8.15 p46/p47 | Corrigido ✅ |
| Zimbra 9.0.0 antes do p41 | Vulnerável |
| Zimbra 10.x antes de 10.0.9 | Vulnerável |
Descoberto durante uma resposta a incidentes por Lionel Sarrazin - CDH Informatique