CVE-2020-28026

9.8 CRITICAL

📋 TL;DR

CVE-2020-28026 is a critical vulnerability in Exim mail servers that allows unauthenticated remote attackers to execute arbitrary commands as root when Delivery Status Notification (DSN) is enabled. This affects Exim installations with non-default configurations that have DSN enabled, potentially giving attackers complete control over affected systems.

💻 Affected Systems

Products:
  • Exim
Versions: Exim 4 before version 4.94.2
Operating Systems: Linux, Unix-like systems
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when Delivery Status Notification (DSN) is enabled, which is a non-default configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote unauthenticated attacker gains root shell access, leading to complete system compromise, data theft, and potential lateral movement within the network.

🟠

Likely Case

Attackers exploit vulnerable internet-facing Exim servers to install malware, create backdoors, or use systems for cryptocurrency mining or DDoS attacks.

🟢

If Mitigated

With proper network segmentation and monitoring, impact is limited to the mail server system, but root access still allows significant damage.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation is straightforward once DSN is enabled. Multiple proof-of-concept exploits are publicly available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Exim 4.94.2 and later

Vendor Advisory: https://www.exim.org/static/doc/security/CVE-2020-qualys/CVE-2020-28026-FGETS.txt

Restart Required: Yes

Instructions:

1. Download Exim 4.94.2 or later from exim.org
2. Stop Exim service: systemctl stop exim
3. Install new version following distribution-specific package procedures
4. Restart Exim: systemctl start exim
5. Verify service is running and patched

🔧 Temporary Workarounds

Disable DSN feature

linux

Disable Delivery Status Notification (DSN) functionality since vulnerability only exists when DSN is enabled

Edit Exim configuration to remove or comment out DSN-related options
Set 'dsn_advertise_hosts =' to empty in exim.conf

Network access restrictions

linux

Restrict access to Exim service to trusted networks only

iptables -A INPUT -p tcp --dport 25 -s TRUSTED_NETWORK -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

🧯 If You Can't Patch

  • Disable DSN functionality immediately in Exim configuration
  • Implement strict network filtering to limit Exim SMTP port access to only necessary IP addresses

🔍 How to Verify

Check if Vulnerable:

Check Exim version and DSN configuration: exim -bV | grep 'Exim version' and grep for 'dsn' in exim.conf

Check Version:

exim -bV | grep 'Exim version'

Verify Fix Applied:

Verify Exim version is 4.94.2 or higher: exim -bV | grep 'Exim version'

📡 Detection & Monitoring

Log Indicators:

  • Unusual ORCPT= parameters in mail logs
  • Multiple failed DSN attempts
  • Suspicious command execution in system logs

Network Indicators:

  • Unusual SMTP traffic patterns
  • Exploit attempts on port 25
  • Unexpected outbound connections from Exim server

SIEM Query:

source="exim.log" AND (ORCPT=*\n* OR "delivery status notification" AND error)

🔗 References

📤 Share & Export