CVE-2019-15846
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing...
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
CVE-2019-15846- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 10.0 High
AV:N/AC:L/Au:N/C:C/I:C/A:C - Updated
- 2026-11-02
CVE List No score
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
CVE-2019-15846- Updated
- 2026-11-02
EUVDEUVD-2019-6762 No score
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
EUVD-2019-6762- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-f368-8x8g-4m4v No score
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing...
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
GHSA-f368-8x8g-4m4v- Updated
- 2026-11-02
OSVALPINE-CVE-2019-15846
9.8
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
ALPINE-CVE-2019-15846- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
OSV
9.8
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
CVE-2019-15846- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVDEBIAN-CVE-2019-15846
9.8
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
DEBIAN-CVE-2019-15846- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-15846
9.8
Exim before 4.92.2 allows remote attackers to execute arbitrary code as root via a trailing backslash.
- Record
UBUNTU-CVE-2019-15846- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2019:2093-1 No score
Security update for exim
exim was updated to fix a security issue:
- CVE-2019-15846: Fixed a buffer overflow in SMTP Delivery process where a remote attacker could execute code with root privileges by sending crafted SNI data (boo#1149182).
- Record
openSUSE-SU-2019:2093-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0753-1 No score
Security update for exim
This update for exim fixes the following issues:
exim was updated to 4.94.2:
security update (boo#1185631)
- CVE-2020-28007: Link attack in Exim's log directory
- CVE-2020-28008: Assorted attacks in Exim's spool directory
- CVE-2020-28014: Arbitrary PID file creation
- CVE-2020-28011: Heap buffer overflow in queue_run()
- CVE-2020-28010: Heap out-of-bounds write in main()
- CVE-2020-28013: Heap buffer overflow in parse_fix_phrase()
- CVE-2020-28016: Heap out-of-bounds write in parse_fix_phrase()
- CVE-2020-28015: New-line injection into spool header file (local)
- CVE-2020-28012: Missing close-on-exec flag for privileged pipe
- CVE-2020-28009: Integer overflow in get_stdinput()
- CVE-2020-28017: Integer overflow in receive_add_recipient()
- CVE-2020-28020: Integer overflow in receive_msg()
- CVE-2020-28023: Out-of-bounds read in smtp_setup_msg()
- CVE-2020-28021: New-line injection into spool header file (remote)
- CVE-2020-28022: Heap out-of-bounds read and write in extract_option()
- CVE-2020-28026: Line truncation and injection in spool_read_header()
- CVE-2020-28019: Failure to reset function pointer after BDAT error
- CVE-2020-28024: Heap buffer underflow in smtp_ungetc()
- CVE-2020-28018: Use-after-free in tls-openssl.c
- CVE-2020-28025: Heap out-of-bounds read in pdkim_finish_bodyhash()
update to exim-4.94.1
- Fix security issue in BDAT state confusion. Ensure we reset known-good where we know we need to not be reading BDAT data, as a general case fix, and move the places where we switch to BDAT mode until after various protocol state checks. Fixes CVE-2020-BDATA reported by Qualys.
- Fix security issue in SMTP verb option parsing (CVE-2020-EXOPT)
- Fix security issue with too many recipients on a message (to remove a known security problem if someone does set recipients_max to unlimited, or if local additions add to the recipient list). Fixes CVE-2020-RCPTL reported by Qualys.
- Fix CVE-2020-28016 (PFPZA): Heap out-of-bounds write in parse_fix_phrase()
- Fix security issue CVE-2020-PFPSN and guard against cmdline invoker providing a particularly obnoxious sender full name.
- Fix Linux security issue CVE-2020-SLCWD and guard against PATH_MAX better.
-
bring back missing exim_db.8 manual page (fixes boo#1173693)
-
bring in changes from current +fixes (lots of taint check fixes)
- Bug 1329: Fix format of Maildir-format filenames to match other mail- related applications. Previously an 'H' was used where available info says that 'M' should be, so change to match.
- Bug 2587: Fix pam expansion condition. Tainted values are commonly used as arguments, so an implementation trying to copy these into a local buffer was taking a taint-enforcement trap. Fix by using dynamically created buffers.
- Bug 2586: Fix listcount expansion operator. Using tainted arguments is reasonable, eg. to count headers. Fix by using dynamically created buffers rather than a local. Do similar fixes for ACL actions 'dcc', 'log_reject_target', 'malware' and 'spam'; the arguments are expanded so could be handling tainted values.
- Bug 2590: Fix -bi (newaliases). A previous code rearrangement had broken the (no-op) support for this sendmail command. Restore it to doing nothing, silently, and returning good status.
update to exim 4.94
- some transports now refuse to use tainted data in constructing their delivery location this WILL BREAK configurations which are not updated accordingly. In particular: any Transport use of $local_user which has been relying upon check_local_user far away in the Router to make it safe, should be updated to replace $local_user with $local_part_data.
- Attempting to remove, in router or transport, a header name that ends with an asterisk (which is a standards-legal name) will now result in all headers named starting with the string before…
- Record
openSUSE-SU-2021:0753-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10746-1 No score
exim-4.94.2-4.2 on GA media
These are all security issues fixed in the exim-4.94.2-4.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10746-1- Updated
- 2026-11-02
OSVUSN-4124-1 No score
exim4 vulnerability
It was discovered that Exim incorrectly handled certain decoding operations. A remote attacker could possibly use this issue to execute arbitrary commands.
- Record
USN-4124-1- Updated
- 2026-11-02
OSVUSN-4124-2 No score
exim4 vulnerability
USN-4124-1 fixed a vulnerability in Exim. This update provides the corresponding update for Ubuntu 14.04 ESM.
Original advisory details:
It was discovered that Exim incorrectly handled certain decoding operations. A remote attacker could possibly use this issue to execute arbitrary commands.
- Record
USN-4124-2- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
eximAlpine:v3.10 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.11 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.12 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.13 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.14 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.15 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.16 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.17 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.18 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.19 |
before 4.92.2-r0 | 4.92.2-r0 |
Show 21 moreShow less
| Package | Affected | Fixed |
|---|---|---|
eximAlpine:v3.20 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.21 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.22 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.23 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.24 |
before 4.92.2-r0 | 4.92.2-r0 |
eximAlpine:v3.8 |
before 4.91-r2 | 4.91-r2 |
eximAlpine:v3.9 |
before 4.92.2-r0 | 4.92.2-r0 |
exim4Debian:12 |
before 4.92.1-3 | 4.92.1-3 |
exim4Debian:13 |
before 4.92.1-3 | 4.92.1-3 |
exim4Debian:14 |
before 4.92.1-3 | 4.92.1-3 |
exim4Debian:8 |
before 4.84.2-2+deb8u6, plus listed versions 4.84-84.84-8+deb8u14.84-8+deb8u24.84.2-14.84.2-1+deb8u1 Show 6 moreShow less4.84.2-24.84.2-2+deb8u14.84.2-2+deb8u24.84.2-2+deb8u34.84.2-2+deb8u44.84.2-2+deb8u5 |
4.84.2-2+deb8u6 |
exim4Debian:9 |
before 4.89-2+deb9u6, plus listed versions 4.89-24.89-2+deb9u14.89-2+deb9u1~bpo8+14.89-2+deb9u24.89-2+deb9u34.89-2+deb9u3~bpo8+14.89-2+deb9u44.89-2+deb9u5 |
4.89-2+deb9u6 |
exim4Debian:10 |
before 4.92-8+deb10u2, plus listed versions 4.92-84.92-8+deb10u14.92-8+deb10u1~bpo9+14.92-8+deb10u2~bpo9+1 |
4.92-8+deb10u2 |
exim4Ubuntu:Pro:14.04:LTS |
before 4.82-3ubuntu2.4+esm1, plus listed versions 4.80-7ubuntu34.80-7ubuntu44.80-9ubuntu14.80-9ubuntu24.82-3ubuntu1 Show 5 moreShow less4.82-3ubuntu24.82-3ubuntu2.14.82-3ubuntu2.24.82-3ubuntu2.34.82-3ubuntu2.4 |
4.82-3ubuntu2.4+esm1 |
exim4Ubuntu:16.04:LTS |
before 4.86.2-2ubuntu2.5, plus listed versions 4.86-3ubuntu14.86-7ubuntu14.86-7ubuntu24.86-7ubuntu34.86.2-2ubuntu1 Show 5 moreShow less4.86.2-2ubuntu24.86.2-2ubuntu2.14.86.2-2ubuntu2.24.86.2-2ubuntu2.34.86.2-2ubuntu2.4 |
4.86.2-2ubuntu2.5 |
exim4Ubuntu:18.04:LTS |
before 4.90.1-1ubuntu1.4, plus listed versions 4.89-5ubuntu14.89-9ubuntu14.89-9ubuntu24.89-9ubuntu34.89-9ubuntu4 Show 4 moreShow less4.90.1-1ubuntu14.90.1-1ubuntu1.14.90.1-1ubuntu1.24.90.1-1ubuntu1.3 |
4.90.1-1ubuntu1.4 |
eximopenSUSE:Leap 15.0 |
before 4.88-lp151.4.9.1 | 4.88-lp151.4.9.1 |
eximopenSUSE:Leap 15.1 |
before 4.88-lp151.4.9.1 | 4.88-lp151.4.9.1 |
eximSUSE:Package Hub 15 SP1 |
before 4.94.2-bp151.2.4.1 | 4.94.2-bp151.2.4.1 |
libspf2SUSE:Package Hub 15 SP1 |
before 1.2.10-bp151.4.1 | 1.2.10-bp151.4.1 |
eximopenSUSE:Tumbleweed |
before 4.94.2-4.2 | 4.94.2-4.2 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | synacktiv/Exim-CVE-2019-15846 | 2019-10-09 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-15846 is a critical vulnerability (CVSS 9.8) in Exim, published September 6, 2019. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 35.7%, the 98th percentile. Fixed in exim 4.92.2-r0.
References
exim.org/static/doc/security/CVE-2019-15846.txt
openwall.com/lists/oss-security/2019/09/06/1
lists.debian.org/debian-lts-announce/2019/09/msg00004.html
seclists.org/bugtraq/2019/Sep/13
openwall.com/lists/oss-security/2019/09/06/2
debian.org/security/2019/dsa-4517
Show 71 moreShow less
usn.ubuntu.com/4124-1
kb.cert.org/vuls/id/672565
openwall.com/lists/oss-security/2019/09/06/6
openwall.com/lists/oss-security/2019/09/06/4
openwall.com/lists/oss-security/2019/09/06/5
security.gentoo.org/glsa/201909-06
openwall.com/lists/oss-security/2019/09/06/8
openwall.com/lists/oss-security/2019/09/07/1
openwall.com/lists/oss-security/2019/09/07/2
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NDF37AUNETIOXY6ZLQAUBGBVUTMMV242
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/FT3GY7V7SR2RHKNZNQCGXFWUSILVSZNU
openwall.com/lists/oss-security/2019/09/08/1
openwall.com/lists/oss-security/2019/09/09/1
lists.opensuse.org/opensuse-security-announce/2019-09/msg00024.html
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SBNHDAF74RI6VK2JVSEIE3VYNL7JJDYM
usn.ubuntu.com/4124-2
nvd.nist.gov/vuln/detail/CVE-2019-15846
lists.fedoraproject.org/archives/list/[email protected]/message/FT3GY7V7SR2RHKNZNQCGXFWUSILVSZNU
lists.fedoraproject.org/archives/list/[email protected]/message/NDF37AUNETIOXY6ZLQAUBGBVUTMMV242
lists.fedoraproject.org/archives/list/[email protected]/message/SBNHDAF74RI6VK2JVSEIE3VYNL7JJDYM
github.com/advisories/GHSA-f368-8x8g-4m4v
security.alpinelinux.org/vuln/CVE-2019-15846
security-tracker.debian.org/tracker/CVE-2019-15846
ubuntu.com/security/CVE-2019-15846
ubuntu.com/security/notices/USN-4124-1
ubuntu.com/security/notices/USN-4124-2
cve.org/CVERecord?id=CVE-2019-15846
launchpad.net/bugs/1843041
lists.opensuse.org/archives/list/[email protected]/thread/XVNKKLYCV6Q3DGRARHNWI7L6EZQDVH2S
bugzilla.suse.com/1149182
suse.com/security/cve/CVE-2019-15846
lists.opensuse.org/archives/list/[email protected]/thread/UMX36VOLIS2TDKA3MXOUO365NDUK5WQ3
bugzilla.suse.com/1079832
bugzilla.suse.com/1136587
bugzilla.suse.com/1142207
bugzilla.suse.com/1154183
bugzilla.suse.com/1160726
bugzilla.suse.com/1171490
bugzilla.suse.com/1171877
bugzilla.suse.com/1173693
bugzilla.suse.com/1185631
suse.com/security/cve/CVE-2017-1000369
suse.com/security/cve/CVE-2017-16943
suse.com/security/cve/CVE-2017-16944
suse.com/security/cve/CVE-2018-6789
suse.com/security/cve/CVE-2019-10149
suse.com/security/cve/CVE-2019-13917
suse.com/security/cve/CVE-2019-16928
suse.com/security/cve/CVE-2020-12783
suse.com/security/cve/CVE-2020-28007
suse.com/security/cve/CVE-2020-28008
suse.com/security/cve/CVE-2020-28009
suse.com/security/cve/CVE-2020-28010
suse.com/security/cve/CVE-2020-28011
suse.com/security/cve/CVE-2020-28012
suse.com/security/cve/CVE-2020-28013
suse.com/security/cve/CVE-2020-28014
suse.com/security/cve/CVE-2020-28015
suse.com/security/cve/CVE-2020-28016
suse.com/security/cve/CVE-2020-28017
suse.com/security/cve/CVE-2020-28018
suse.com/security/cve/CVE-2020-28019
suse.com/security/cve/CVE-2020-28020
suse.com/security/cve/CVE-2020-28021
suse.com/security/cve/CVE-2020-28022
suse.com/security/cve/CVE-2020-28023
suse.com/security/cve/CVE-2020-28024
suse.com/security/cve/CVE-2020-28025
suse.com/security/cve/CVE-2020-28026
suse.com/security/cve/CVE-2020-8015
suse.com/security/cve/CVE-2016-9963
Left out here: the rest of 1 source description. The JSON record has them.