Exim
Don't miss out!
Thousands of developers use stack.watch to stay informed.Get an email whenever new security vulnerabilities are reported in Exim.
Known Exploited Exim Vulnerabilities
The following Exim vulnerabilities have been marked by CISA as Known to be Exploited by threat actors.
Title | Description | Added |
---|---|---|
Exim Privilege Escalation Vulnerability |
Exim allows local users to gain privileges by leveraging the ability of the exim user account to specify an alternate configuration file with a directive that contains arbitrary commands. CVE-2010-4345 Exploit Probability: 11.2% |
March 25, 2022 |
Exim Heap-Based Buffer Overflow Vulnerability |
Heap-based buffer overflow in the string_vformat function in string.c in Exim before 4.70 allows remote attackers to execute arbitrary code via an SMTP session. CVE-2010-4344 Exploit Probability: 57.5% |
March 25, 2022 |
Exim Buffer Overflow Vulnerability |
Issue in the base64d function in the SMTP listener in Exim before 4.90.1. By sending a handcrafted message, a buffer overflow may happen. This can be used to execute code remotely. CVE-2018-6789 Exploit Probability: 72.1% |
November 3, 2021 |
2 known exploited Exim vulnerabilities are in the top 5% (95th percentile or greater) of the EPSS exploit probability rankings.
Exim EOL Dates
Ensure that you are using a supported version of Exim. Here are some end of life, and end of support dates for Exim.
Release | EOL Date | Status |
---|---|---|
4.98 | - |
Active
|
4.97 | July 10, 2024 |
EOL
Exim 4.97 became EOL in 2024. |
4.96 | November 4, 2023 |
EOL
Exim 4.96 became EOL in 2023. |
4.95 | June 25, 2022 |
EOL
Exim 4.95 became EOL in 2022. |
4.94 | September 28, 2021 |
EOL
Exim 4.94 became EOL in 2021. |
4.93 | June 1, 2020 |
EOL
Exim 4.93 became EOL in 2020. |
4.92 | December 8, 2019 |
EOL
Exim 4.92 became EOL in 2019. |
4.91 | February 10, 2019 |
EOL
Exim 4.91 became EOL in 2019. |
4.90 | April 15, 2018 |
EOL
Exim 4.90 became EOL in 2018. |
4.89 | December 19, 2017 |
EOL
Exim 4.89 became EOL in 2017. |
4.88 | March 7, 2017 |
EOL
Exim 4.88 became EOL in 2017. |
4.87 | December 18, 2016 |
EOL
Exim 4.87 became EOL in 2016. |
4.86 | April 6, 2016 |
EOL
Exim 4.86 became EOL in 2016. |
4.85 | July 26, 2015 |
EOL
Exim 4.85 became EOL in 2015. |
4.84 | January 12, 2015 |
EOL
Exim 4.84 became EOL in 2015. |
4.83 | August 11, 2014 |
EOL
Exim 4.83 became EOL in 2014. |
4.82 | July 21, 2014 |
EOL
Exim 4.82 became EOL in 2014. |
4.80 | October 28, 2013 |
EOL
Exim 4.80 became EOL in 2013. |
4.77 | May 31, 2012 |
EOL
Exim 4.77 became EOL in 2012. |
4.76 | October 10, 2011 |
EOL
Exim 4.76 became EOL in 2011. |
By the Year
In 2025 there have been 0 vulnerabilities in Exim. Exim did not have any published security vulnerabilities last year.
Year | Vulnerabilities | Average Score |
---|---|---|
2025 | 0 | 0.00 |
2024 | 0 | 0.00 |
2023 | 1 | 5.30 |
2022 | 4 | 8.65 |
2021 | 22 | 8.19 |
2020 | 1 | 7.50 |
2019 | 4 | 9.80 |
2018 | 1 | 9.80 |
It may take a day or so for new Exim vulnerabilities to show up in the stats or in the list of recent security vulnerabilties. Additionally vulnerabilities may be tagged under a different product or component name.
Recent Exim Security Vulnerabilities
Exim before 4.97.1 allows SMTP smuggling in certain PIPELINING/CHUNKING configurations
CVE-2023-51766
5.3 - Medium
- December 24, 2023
Exim before 4.97.1 allows SMTP smuggling in certain PIPELINING/CHUNKING configurations. Remote attackers can use a published exploitation technique to inject e-mail messages with a spoofed MAIL FROM address, allowing bypass of an SPF protection mechanism. This occurs because Exim supports <LF>.<CR><LF> but some other popular e-mail servers do not.
Insufficient Verification of Data Authenticity
A vulnerability was found in Exim and classified as problematic
CVE-2022-3620
9.8 - Critical
- October 20, 2022
A vulnerability was found in Exim and classified as problematic. This issue affects the function dmarc_dns_lookup of the file dmarc.c of the component DMARC Handler. The manipulation leads to use after free. The attack may be initiated remotely. The name of the patch is 12fb3842f81bcbd4a4519d5728f2d7e0e3ca1445. It is recommended to apply a patch to fix this issue. The associated identifier of this vulnerability is VDB-211919.
Buffer Overflow
A vulnerability was found in Exim and classified as problematic
CVE-2022-3559
7.5 - High
- October 17, 2022
A vulnerability was found in Exim and classified as problematic. This issue affects some unknown processing of the component Regex Handler. The manipulation leads to use after free. The name of the patch is 4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2. It is recommended to apply a patch to fix this issue. The identifier VDB-211073 was assigned to this vulnerability.
Buffer Overflow
Exim before 4.95 has a heap-based buffer overflow for the alias list in host_name_lookup in host.c when sender_host_name is set.
CVE-2022-37452
9.8 - Critical
- August 07, 2022
Exim before 4.95 has a heap-based buffer overflow for the alias list in host_name_lookup in host.c when sender_host_name is set.
Memory Corruption
Exim before 4.96 has an invalid free in pam_converse in auths/call_pam.c
CVE-2022-37451
7.5 - High
- August 06, 2022
Exim before 4.96 has an invalid free in pam_converse in auths/call_pam.c because store_free is not used after store_malloc.
Release of Invalid Pointer or Reference
The STARTTLS feature in Exim through 4.94.2
CVE-2021-38371
7.5 - High
- August 10, 2021
The STARTTLS feature in Exim through 4.94.2 allows response injection (buffering) during MTA SMTP sending.
Injection
Exim 4 before 4.94.2
CVE-2020-28017
9.8 - Critical
- May 06, 2021
Exim 4 before 4.94.2 allows Integer Overflow to Buffer Overflow in receive_add_recipient via an e-mail message with fifty million recipients. NOTE: remote exploitation may be difficult because of resource consumption.
Integer Overflow or Wraparound
Exim 4 before 4.94.2 allows Use After Free in smtp_reset in certain situations
CVE-2020-28018
9.8 - Critical
- May 06, 2021
Exim 4 before 4.94.2 allows Use After Free in smtp_reset in certain situations that may be common for builds with OpenSSL.
Dangling pointer
Exim 4 before 4.94.2
CVE-2020-28016
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows an off-by-two Out-of-bounds Write because "-F ''" is mishandled by parse_fix_phrase.
Memory Corruption
Exim 4 before 4.94.2 has Improper Neutralization of Line Delimiters
CVE-2020-28015
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 has Improper Neutralization of Line Delimiters. Local users can alter the behavior of root processes because a recipient address can have a newline character.
Exim 4 before 4.94.2 allows Execution with Unnecessary Privileges
CVE-2020-28014
6.1 - Medium
- May 06, 2021
Exim 4 before 4.94.2 allows Execution with Unnecessary Privileges. The -oP option is available to the exim user, and allows a denial of service because root-owned files can be overwritten.
Improper Privilege Management
Exim 4 before 4.94.2 allows Heap-based Buffer Overflow because it mishandles "-F '
CVE-2020-28013
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Heap-based Buffer Overflow because it mishandles "-F '.('" on the command line, and thus may allow privilege escalation from any user to root. This occurs because of the interpretation of negative sizes in strncpy.
Memory Corruption
Exim 4 before 4.94.2 allows Exposure of File Descriptor to Unintended Control Sphere because rda_interpret uses a privileged pipe
CVE-2020-28012
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Exposure of File Descriptor to Unintended Control Sphere because rda_interpret uses a privileged pipe that lacks a close-on-exec flag.
Exim 4 before 4.94.2 allows Heap-based Buffer Overflow in queue_run via two sender options: -R and -S
CVE-2020-28011
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Heap-based Buffer Overflow in queue_run via two sender options: -R and -S. This may cause privilege escalation from exim to root.
Memory Corruption
Exim 4 before 4.94.2 allows Out-of-bounds Write because the main function, while setuid root, copies the current working directory pathname into a buffer
CVE-2020-28010
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Out-of-bounds Write because the main function, while setuid root, copies the current working directory pathname into a buffer that is too small (on some common platforms).
Memory Corruption
Exim 4 before 4.94.2 allows Integer Overflow to Buffer Overflow because get_stdinput allows unbounded reads
CVE-2020-28009
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Integer Overflow to Buffer Overflow because get_stdinput allows unbounded reads that are accompanied by unbounded increases in a certain size variable. NOTE: exploitation may be impractical because of the execution time needed to overflow (multiple days).
Integer Overflow or Wraparound
Exim 4 before 4.94.2 allows Execution with Unnecessary Privileges
CVE-2020-28008
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Execution with Unnecessary Privileges. Because Exim operates as root in the spool directory (owned by a non-root user), an attacker can write to a /var/spool/exim4/input spool header file, in which a crafted recipient address can indirectly lead to command execution.
Improper Privilege Management
Exim 4 before 4.94.2 allows Execution with Unnecessary Privileges
CVE-2020-28007
7.8 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Execution with Unnecessary Privileges. Because Exim operates as root in the log directory (owned by a non-root user), a symlink or hard link attack allows overwriting critical root-owned files anywhere on the filesystem.
insecure temporary file
Exim 4 before 4.94.2 has Execution with Unnecessary Privileges
CVE-2021-27216
6.3 - Medium
- May 06, 2021
Exim 4 before 4.94.2 has Execution with Unnecessary Privileges. By leveraging a delete_pid_file race condition, a local user can delete arbitrary files as root. This involves the -oP and -oPX options.
Improper Privilege Management
Exim 4 before 4.94.2 has Improper Initialization that can lead to recursion-based stack consumption or other consequences
CVE-2020-28019
7.5 - High
- May 06, 2021
Exim 4 before 4.94.2 has Improper Initialization that can lead to recursion-based stack consumption or other consequences. This occurs because use of certain getc functions is mishandled when a client uses BDAT instead of DATA.
Improper Initialization
Exim 4 before 4.92 allows Integer Overflow to Buffer Overflow, in
CVE-2020-28020
9.8 - Critical
- May 06, 2021
Exim 4 before 4.92 allows Integer Overflow to Buffer Overflow, in which an unauthenticated remote attacker can execute arbitrary code by leveraging the mishandling of continuation lines during header-length restriction.
Integer Overflow or Wraparound
Exim 4 before 4.94.2 has Improper Neutralization of Line Delimiters
CVE-2020-28021
8.8 - High
- May 06, 2021
Exim 4 before 4.94.2 has Improper Neutralization of Line Delimiters. An authenticated remote SMTP client can insert newline characters into a spool file (which indirectly leads to remote code execution as root) via AUTH= in a MAIL FROM command.
Exim 4 before 4.94.2 has Improper Restriction of Write Operations within the Bounds of a Memory Buffer
CVE-2020-28022
9.8 - Critical
- May 06, 2021
Exim 4 before 4.94.2 has Improper Restriction of Write Operations within the Bounds of a Memory Buffer. This occurs when processing name=value pairs within MAIL FROM and RCPT TO commands.
Buffer Overflow
Exim 4 before 4.94.2 allows Out-of-bounds Read
CVE-2020-28023
7.5 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Out-of-bounds Read. smtp_setup_msg may disclose sensitive information from process memory to an unauthenticated SMTP client.
Out-of-bounds Read
Exim 4 before 4.94.2 allows Buffer Underwrite
CVE-2020-28024
9.8 - Critical
- May 06, 2021
Exim 4 before 4.94.2 allows Buffer Underwrite that may result in unauthenticated remote attackers executing arbitrary commands, because smtp_ungetc was only intended to push back characters, but can actually push back non-character error codes such as EOF.
Buffer Overflow
Exim 4 before 4.94.2
CVE-2020-28025
7.5 - High
- May 06, 2021
Exim 4 before 4.94.2 allows Out-of-bounds Read because pdkim_finish_bodyhash does not validate the relationship between sig->bodyhash.len and b->bh.len; thus, a crafted DKIM-Signature header might lead to a leak of sensitive information from process memory.
Out-of-bounds Read
Exim 4 before 4.94.2 has Improper Neutralization of Line Delimiters, relevant in non-default configurations
CVE-2020-28026
9.8 - Critical
- May 06, 2021
Exim 4 before 4.94.2 has Improper Neutralization of Line Delimiters, relevant in non-default configurations that enable Delivery Status Notification (DSN). Certain uses of ORCPT= can place a newline into a spool header file, and indirectly allow unauthenticated remote attackers to execute arbitrary commands as root.
Exim through 4.93 has an out-of-bounds read in the SPA authenticator
CVE-2020-12783
7.5 - High
- May 11, 2020
Exim through 4.93 has an out-of-bounds read in the SPA authenticator that could result in SPA/NTLM authentication bypass in auths/spa.c and auths/auth-spa.c.
Out-of-bounds Read
Exim 4.92 through 4.92.2 allows remote code execution, a different vulnerability than CVE-2019-15846
CVE-2019-16928
9.8 - Critical
- September 27, 2019
Exim 4.92 through 4.92.2 allows remote code execution, a different vulnerability than CVE-2019-15846. There is a heap-based buffer overflow in string_vformat in string.c involving a long EHLO command.
Memory Corruption
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root
CVE-2019-15846
9.8 - Critical
- September 06, 2019
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
Exim 4.85 through 4.92 (fixed in 4.92.1) allows remote code execution as root in some unusual configurations
CVE-2019-13917
9.8 - Critical
- July 25, 2019
Exim 4.85 through 4.92 (fixed in 4.92.1) allows remote code execution as root in some unusual configurations that use the ${sort } expansion for items that can be controlled by an attacker (e.g., $local_part or $domain).
Data Processing Errors
A flaw was found in Exim versions 4.87 to 4.91 (inclusive)
CVE-2019-10149
9.8 - Critical
- June 05, 2019
A flaw was found in Exim versions 4.87 to 4.91 (inclusive). Improper validation of recipient address in deliver_message() function in /src/deliver.c may lead to remote command execution.
Shell injection
An issue was discovered in the base64d function in the SMTP listener in Exim before 4.90.1
CVE-2018-6789
9.8 - Critical
- February 08, 2018
An issue was discovered in the base64d function in the SMTP listener in Exim before 4.90.1. By sending a handcrafted message, a buffer overflow may happen. This can be used to execute code remotely.
Classic Buffer Overflow
The receive_msg function in receive.c in the SMTP daemon in Exim 4.88 and 4.89
CVE-2017-16943
9.8 - Critical
- November 25, 2017
The receive_msg function in receive.c in the SMTP daemon in Exim 4.88 and 4.89 allows remote attackers to execute arbitrary code or cause a denial of service (use-after-free) via vectors involving BDAT commands.
Dangling pointer
The receive_msg function in receive.c in the SMTP daemon in Exim 4.88 and 4.89
CVE-2017-16944
7.5 - High
- November 25, 2017
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.
Infinite Loop
The dmarc_process function in dmarc.c in Exim before 4.82.1, when EXPERIMENTAL_DMARC is enabled
CVE-2014-2957
- September 04, 2014
The dmarc_process function in dmarc.c in Exim before 4.82.1, when EXPERIMENTAL_DMARC is enabled, allows remote attackers to execute arbitrary code via the From header in an email, which is passed to the expand_string function.
Improper Input Validation
Heap-based buffer overflow in the string_vformat function in string.c in Exim before 4.70 allows remote attackers to execute arbitrary code via an SMTP session
CVE-2010-4344
9.8 - Critical
- December 14, 2010
Heap-based buffer overflow in the string_vformat function in string.c in Exim before 4.70 allows remote attackers to execute arbitrary code via an SMTP session that includes two MAIL commands in conjunction with a large message containing crafted headers, leading to improper rejection logging.
Memory Corruption
Exim 4.72 and earlier allows local users to gain privileges by leveraging the ability of the exim user account to specify an alternate configuration file with a directive
CVE-2010-4345
7.8 - High
- December 14, 2010
Exim 4.72 and earlier allows local users to gain privileges by leveraging the ability of the exim user account to specify an alternate configuration file with a directive that contains arbitrary commands, as demonstrated by the spool_directory directive.