CVE-2017-16944·Exim vulnerability
The receive_msg function in receive.c in the SMTP daemon in Exim 4.88 and 4.89 allows remote attackers to cause a denial of service (infinite loop and stack exhaustion) via vectors involving BDAT commands and an improper check for a '.' character signifying the end of the content, related to the bdat_getc function.
- Severity
- critical
- Software
- Exim
- Fixed in
- 4.89-13
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 63% — in the top 0.8% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
Until: 4.89-13
Fixed in: 4.89-13
How to fix this CVE
Upgrade Exim to version 4.89-13 or later to fix a critical denial-of-service flaw in the SMTP BDAT command handler. Organizations running Exim versions 4.88 or 4.89 before the patch should prioritize this update to prevent remote attackers from triggering infinite loops and stack exhaustion on mail servers. Apply the patch immediately and monitor mail service logs for signs of exploitation during and after the update.
sudo dnf update eximDefensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
BDAT [0-9]+ (CR)?LF(?!\.).*BDAT [0-9]+|Exim process memory fault|stack exhaustion error|Segmentation fault in receive_msgHow to check if you are affected
- Run 'exim -v' or 'exim --version' to determine the currently installed Exim version and confirm it is 4.88.x or 4.89-12 or earlier
- Check if Exim SMTP daemon is running by executing 'systemctl status exim4' (Debian/Ubuntu) or 'systemctl status exim' (RHEL/CentOS) to verify the service is active
- Search Exim logs for BDAT command errors with 'grep -i "bdat" /var/log/exim4/mainlog' or equivalent log path to identify any malformed BDAT requests
- After patching, re-run 'exim -v' to confirm the version is 4.89-13 or higher and restart Exim with 'sudo systemctl restart exim4' or 'sudo systemctl restart exim'
FAQ
What is CVE-2017-16944?
CVE-2017-16944 is a critical denial-of-service vulnerability in Exim's SMTP daemon that exploits improper validation of BDAT command termination, allowing remote attackers to cause stack exhaustion and infinite loops without authentication.
Is CVE-2017-16944 being actively exploited?
According to CISA KEV data, CVE-2017-16944 is not currently listed as actively exploited; however, public exploits are available, so the threat remains high for unpatched systems.
What versions of Exim are affected by CVE-2017-16944?
Exim versions 4.88 and 4.89 up to and including 4.89-12 are affected. The vulnerability was fixed in Exim 4.89-13 and later releases.
How do I check if my server is vulnerable to CVE-2017-16944?
Run 'exim -v' to display the installed version; if it shows 4.88.x or 4.89-12 or earlier, your system is vulnerable and requires immediate patching.
Does Defensia detect CVE-2017-16944?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Exim is installed on a monitored server, CVE-2017-16944 will appear in your dashboard with remediation steps.
Related Exim CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2017-16944. Free for 1 server.
Get started free