What is Exim?
Exim is a free, open-source Mail Transfer Agent (MTA) developed at the University of Cambridge. It is one of the most widely deployed SMTP servers in the world — used by millions of Linux and Unix servers to route and deliver email. Exim is the default MTA in Debian-based Linux distributions and is widely deployed in internet-facing mail servers, web hosting environments, and ISP infrastructure. Because Exim listens on port 25 (SMTP) and must accept connections from any SMTP client to deliver internet email, vulnerabilities in Exim's message processing code are directly and unauthenticated-reachable from anywhere on the internet. Critical Exim RCE vulnerabilities are therefore among the most dangerous class of internet-facing server exploits.
Overview
CVE-2010-4344 is a critical-severity heap-based buffer overflow vulnerability (CWE-787, CVSS 9.8) in the Exim MTA. A specially crafted SMTP session can trigger a heap overflow in the string_vformat() function in string.c, allowing an unauthenticated remote attacker to execute arbitrary code with the privileges of the Exim process (typically root or the mail user). This vulnerability was disclosed alongside its companion CVE-2010-4345 (Exim privilege escalation) and fixed in Exim 4.70. CISA added both CVEs simultaneously in March 2022, reflecting continued exploitation of legacy Exim installations.
Affected Versions
| Product | Vulnerable | Fixed |
|---|---|---|
| Exim before 4.70 | Affected | Upgrade to Exim 4.70 or later |
Technical Details
The heap-based buffer overflow (CWE-787: Out-of-Bounds Write) exists in the string_vformat() function in string.c. This function is Exim's general-purpose string formatting routine, used extensively throughout the codebase to construct log entries, SMTP response strings, and other text output.
string_vformat() writes formatted output into a buffer with a specified maximum length. The vulnerability arises from how certain format string combinations interact with the length tracking: under specific conditions involving long or specially structured format strings, the function's internal length accounting can be bypassed, allowing more data to be written into the heap buffer than it can hold.
An attacker can trigger this overflow during an SMTP session by sending a series of SMTP commands (EHLO, MAIL FROM, RCPT TO, etc.) with carefully crafted, overly long arguments. Exim processes these commands and constructs log and response strings using string_vformat(). A crafted command sequence overflows the heap buffer, corrupting adjacent heap memory. With control over the overflow content, the attacker can overwrite heap management structures or function pointers to achieve code execution.
Exim processes typically run as root (for privilege purposes related to local mail delivery), meaning successful exploitation provides root access to the mail server with no authentication required.
Discovery
Discovered by The Exploit Development Group (ExiMplode), who published a detailed advisory and proof-of-concept exploit on December 7, 2010. The advisory included a two-CVE attack chain: CVE-2010-4344 for remote code execution as the Exim process user, combined with CVE-2010-4345 for escalation to root if Exim was not already running as root. The Exim project responded rapidly, releasing Exim 4.70 with fixes for both vulnerabilities within three days.
Exploitation Context
Exim vulnerabilities are consistently high-priority targets due to Exim's ubiquity in internet-facing mail infrastructure:
- Unauthenticated internet exposure: Exim listens on port 25 and must accept SMTP connections from any internet host to function as an MTA. This means CVE-2010-4344 is exploitable by any attacker on the internet without authentication, credentials, or prior access to the target system.
- Root execution context: Exim's mail delivery functions require root privileges (e.g., to write to local user mailboxes), so the Exim process frequently runs as root. A successful heap overflow against an Exim 4.69 installation directly yields a root shell.
- Two-CVE chain: The companion CVE-2010-4345 (alternate config file privilege escalation) was designed for cases where Exim ran as a non-root mail user — providing a complete root escalation chain from unauthenticated network access to full system compromise.
- Legacy Exim in web hosting: Shared web hosting environments running Debian-based Linux with default Exim configurations were a prime target. A compromised Exim server gave attackers root access to a machine hosting potentially thousands of websites.
- Continued exploitation post-2010: CISA's 2022 KEV addition reflects that Exim 4.69 and earlier installations were still being found and exploited over a decade after the patch — common in abandoned servers, legacy hosting environments, and unmaintained network appliances running embedded Linux.
Remediation
- Upgrade to Exim 4.70 or later: Install Exim 4.70 which contains the fix for both CVE-2010-4344 and CVE-2010-4345. Current Exim releases (4.97+) are strongly preferred.
- Run Exim as a non-root user: Configure Exim to run as a dedicated mail user rather than root to limit the impact of exploitation. Combine with CVE-2010-4345 remediation.
- Network firewall: Restrict SMTP access (port 25) to known sending IP ranges where feasible. For outbound-only or internal mail servers, block inbound port 25 at the perimeter.
- Monitor Exim logs: Review Exim logs for abnormal SMTP sessions with unusually long command arguments, which may indicate exploitation attempts.
- OS-level updates: On Debian/Ubuntu systems, ensure Exim is updated through the standard apt package manager, which provides security patches for the distribution-bundled Exim version.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2010-4344 |
| Vendor / Product | Exim — Exim |
| NVD Published | 2010-12-14 |
| NVD Last Modified | 2025-10-22 |
| CVSS 3.1 Score | 9.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Severity | CRITICAL |
| CWE | CWE-787 find similar ↗ |
| CISA KEV Added | 2022-03-25 |
| CISA KEV Deadline | 2022-04-15 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2010-12-07 | The Exploit Development Group (ExiMplode) published advisory and proof-of-concept for the Exim string_vformat() heap overflow |
| 2010-12-10 | Exim 4.70 released fixing CVE-2010-4344 and CVE-2010-4345 |
| 2010-12-14 | CVE-2010-4344 published |
| 2022-03-25 | CISA added to KEV alongside CVE-2010-4345 — both Exim vulnerabilities added simultaneously, reflecting continued exploitation of legacy Exim installations |
| 2022-04-15 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| NVD — CVE-2010-4344 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |