
Zimbra CVE-2024-45519 : la vraie correction - Le correctif officiel est incomplet
Vrai correctif de Zimbra CVE-2024-45519 - Le correctif officiel est incomplet
CVE-2024-45519 est une vulnérabilité critique d'exécution de code à distance (RCE) (CVSS 9.8) dans Zimbra Collaboration Suite. De nombreux administrateurs pensent qu'ils ne sont pas protégés après avoir appliqué le correctif officiel. Ce document clarifie la situation réelle.
CVE-2024-45519 permet l'exécution de commandes à distance non authentifiée via le service postjournal
sur le port 10027.
Après une enquête menée lors d'une réponse à incident, nous pouvons confirmer que :
L'application du correctif p46/p47 + la désactivation de postjournal est suffisante :
zmlocalconfig -e postjournal_enabled=false
zmcontrol restart
Le correctif remplace le popen() vulnérable par execvp() dans le binaire postjournal,
empêchant l'injection de commandes même lorsque le port 10027 est ouvert.
Le port 10027 est requis pour le flux de courrier de Zimbra. Le fermer interrompra la livraison du courrier :
# DO NOT DO THIS - it will break your mail server!
# sed -i 's/^\[%%zimbraLocalBindAddress%%\]:10027 inet/#...' master.cf.in
Testez que la vulnérabilité est corrigée :
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
| Version | Statut |
|---|---|
| Zimbra 8.8.15 avant p46 | Vulnérable |
| Zimbra 8.8.15 p46/p47 | Corrigé ✅ |
| Zimbra 9.0.0 avant p41 | Vulnérable |
| Zimbra 10.x avant 10.0.9 | Vulnérable |
Découvert lors d'une réponse à incident par Lionel Sarrazin - CDH Informatique