
Zimbra CVE-2024-45519 реальное исправление - Официальный патч неполный
Настоящее исправление CVE-2024-45519 для Zimbra - Официальный патч неполный
CVE-2024-45519 — это критическая уязвимость удалённого выполнения кода (RCE, CVSS 9.8) в Zimbra Collaboration Suite. Многие администраторы считают, что они не защищены после применения официального патча. Этот документ проясняет реальную ситуацию.
CVE-2024-45519 позволяет неаутентифицированное удалённое выполнение команд через сервис postjournal на порту 10027.
После расследования в ходе реагирования на инцидент мы можем подтвердить, что:
Применения патча p46/p47 + отключения postjournal достаточно:
zmlocalconfig -e postjournal_enabled=false
zmcontrol restart
Патч заменяет уязвимый popen() на execvp() в бинарном файле postjournal, предотвращая внедрение команд, даже когда порт 10027 открыт.
Порт 10027 требуется для почтового трафика Zimbra. Его закрытие нарушит доставку почты:
# DO NOT DO THIS - it will break your mail server!
# sed -i 's/^\[%%zimbraLocalBindAddress%%\]:10027 inet/#...' master.cf.in
Проверьте, что уязвимость устранена:
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
| Версия | Статус |
|---|---|
| Zimbra 8.8.15 до p46 | Уязвима |
| Zimbra 8.8.15 p46/p47 | Исправлена ✅ |
| Zimbra 9.0.0 до p41 | Уязвима |
| Zimbra 10.x до 10.0.9 | Уязвима |
Обнаружено в ходе реагирования на инцидент Lionel Sarrazin - CDH Informatique