Tutorial

Exim and Dovecot: check that your package is truly patched

Business Email9 min read7 steps

The Ubuntu advisory of 28 September 2026 and the matching Debian advisory for Exim, then the Dovecot flaw of May 2026, quote version numbers that your commands cannot reproduce. `exim4 -bV` prints the upstream version, while a distribution fixes the flaw and keeps an older number: one Exim 4.97 can be protected, another not. This guide gives the method to read the package changelog, test your real exposure, restart the right process, and decide whether this mail server is worth running yourself.

Contents· Why the version number does not answer the question1/12
  1. 01Why the version number does not answer the question
  2. 02Fixed Exim packages by distribution (checked on 28 October 2026)
  3. 03What Ubuntu advisory USN-8834-1 fixes
  4. 04Checking an Exim package, command by command
  5. 05Checking and fixing by environment
  6. 06Updating does not replace the running process
  7. 07Are you exposed: the Proxy-Protocol test
  8. 08If your distribution has no fixed package yet
  9. 09Dovecot: CVE-2026-42006 and sources that do not agree
  10. 10Checking the logs after the fix
  11. 11Who keeps a mail server patched?
  12. 12Official documentation

Why the version number does not answer the question

The upstream Exim fix carries the number 4.100.1: the Ubuntu entry for CVE-2026-94054 describes a flaw present in "Exim before 4.100.1". Yet Ubuntu 24.04 ships a package fixed in 4.97-4ubuntu4.8, and Ubuntu 22.04 one fixed in 4.95-4ubuntu2.12. Both are far below 4.100.1, and both are fixed.

The reason is mechanical. A distribution backports the fix into the older branch it maintains: the upstream number does not move, only the package revision, after the hyphen, changes. Comparing the output of exim4 -bV with 4.100.1 therefore raises a false alarm on a healthy server. The opposite exists too: an Exim compiled by hand, outside the package manager, has no distribution revision, and only its upstream number counts. The right question is not "is my version high enough?" but "does my package contain the fixed revision, and does its changelog cite the CVE?".

Fixed Exim packages by distribution (checked on 28 October 2026)

Scroll the table

DistributionFixed exim4 packageStatus recorded
Ubuntu 26.04 LTS4.99.1-1ubuntu1.5Fixed (USN-8834-1)
Ubuntu 24.04 LTS4.97-4ubuntu4.8Fixed (USN-8834-1)
Ubuntu 22.04 LTS4.95-4ubuntu2.12Fixed (USN-8834-1)
Ubuntu 26.10Not applicableNot affected according to Ubuntu
Debian 13 (trixie), security repository4.98.2-1+deb13u5Fixed (DSA-6522-1)
Debian 12 (bookworm)4.96-15+deb12u10Marked vulnerable on 28 October 2026: re-read the tracker before acting
Debian forky and sid4.100.1-4Fixed
AlmaLinux, RockyDepends on the repository providing EximRead the package changelog

What Ubuntu advisory USN-8834-1 fixes

  • CVE-2026-94054 — out-of-bounds write when Proxy-Protocol is used with an attacker-controlled proxy. Ubuntu scores it 7.0 in CVSS 3, priority Medium.
  • CVE-2026-94056 — uninitialized stack read in the same Proxy-Protocol context, with possible information disclosure.
  • CVE-2026-94057 — SMTP smuggling: data sent after a rejection during the DATA command allows message injection. No proxy is needed.
  • CVE-2026-94055 — use-after-free with GnuTLS and non-default TLS settings. Only Ubuntu 26.04 was affected.
  • A priority is not your risk — the Medium priority judges the flaw in general. It does not tell whether your server accepts connections through a proxy: the tests below do.

Checking an Exim package, command by command

  1. Read the raw version

    exim4 -bV prints the upstream Exim version (the binary is called exim on other systems). Note it, but conclude nothing: this is the number that cannot be compared with 4.100.1.

  2. Read the package revision

    dpkg -s exim4-daemon-light | grep Version gives the installed revision. Swap the name for exim4-daemon-heavy if that is your variant, and list them with dpkg -l 'exim4*'. Compare with the reference table.

  3. Look for the CVE in the changelog

    apt changelog exim4 | grep -n CVE-2026-94054. A matching line means the fix is in the package. No line: run the update, then repeat the command.

  4. On AlmaLinux or Rocky

    rpm -q --changelog exim | grep CVE does the same job, provided the package comes from a repository that publishes it. Same logic for Dovecot with rpm -q --changelog dovecot | grep CVE-2026-42006.

  5. Ask the distribution

    On Debian, debsecan lists the known CVEs for installed packages. On Ubuntu, ubuntu-security-status summarizes which packages still receive security fixes; it does not target one CVE.

  6. Update

    sudo apt update && sudo apt install --only-upgrade 'exim4*', then the same command with 'dovecot*' if Dovecot runs on the machine.

  7. Check the loaded process

    ls -l /proc/$(pgrep -o exim4)/exe. The mention (deleted) shows the binary was replaced on disk while the old one still runs in memory. Restart with sudo systemctl restart exim4.

Checking and fixing by environment

Scroll the table

EnvironmentCheckFix
Debian, Ubuntu`dpkg -s exim4-daemon-light | grep Version``sudo apt update && sudo apt install --only-upgrade 'exim4*' 'dovecot*'`
AlmaLinux, Rocky (Dovecot)`rpm -q --changelog dovecot | grep CVE-2026-42006``sudo dnf upgrade dovecot`
AlmaLinux, Rocky (Exim outside the base repositories)`rpm -q --changelog exim | grep CVE-2026-94054`Update through the repository that provides it, or wait for its fix
Docker (Exim or Dovecot image)`docker exec <container> exim -bV``docker pull <image>` then recreate the container
Mailcow`docker compose exec dovecot-mailcow dovecot --version``./update.sh` in the Mailcow folder
Compiled by hand`exim -bV`Recompile from a fixed upstream version, or switch to the distribution package

Updating does not replace the running process

After the update, a daemon that is already running keeps executing the old binary. Restart with sudo systemctl restart exim4 and sudo systemctl restart dovecot, or let needrestart offer it. For Ubuntu 20.04 and earlier, the Ubuntu entry shows a "needs evaluation" status: without a fixed package, plan an OS migration rather than waiting.

Are you exposed: the Proxy-Protocol test

Two of the four CVEs require Proxy-Protocol. In Exim it is enabled by the main option hosts_proxy. Without it, no ordinary client reaches the code involved in CVE-2026-94054 and CVE-2026-94056. Test with exim4 -bP hosts_proxy.

An empty value means no host is declared as a proxy; an unknown-option message may come from a build without this support: check it in your build's documentation. A list of addresses means those hosts speak Proxy-Protocol: the risk then depends on how far you trust them, since the flaw assumes an attacker-controlled proxy. This test does not cover CVE-2026-94057, the SMTP smuggling, which applies without a proxy, nor CVE-2026-94055, tied to GnuTLS and non-default TLS settings on Ubuntu 26.04. For those, the update remains the only defense.

If your distribution has no fixed package yet

The table shows it: on 28 October 2026, Debian 12 was still marked vulnerable for Exim. Waiting with no action is not the only option. Start by reducing what is reachable: if exim4 -bP hosts_proxy returns an empty value, the two Proxy-Protocol flaws cannot be reached by an ordinary client, and you gain time on them. For the rest, limit the allowed sources on port 25 when your usage permits, and watch your distribution tracker until the package is published.

Rebuilding Exim from upstream sources is possible, but you then become the only maintainer of that binary: no apt upgrade will ever fix it again. Keep this choice for a team that accepts that follow-up. If the distribution is out of support, the lasting way out is a migration to a maintained version, to be planned rather than endured.

Dovecot: CVE-2026-42006 and sources that do not agree

CVE-2026-42006 describes unbounded memory use when an IMAP client sends excessive opening braces. It bypasses the fix for CVE-2026-27857; according to the Debian tracker, that fix only blocked closing braces. Dovecot.org published it on 12 May 2026 with a Moderate severity, but lists neither affected nor fixed versions: the site points to the Open-Xchange advisory.

Debian gives precise packages: 1:2.3.19.1+dfsg1-2.1+deb12u6 for bookworm and 1:2.4.1+dfsg1-6+deb13u7 for trixie in the security repository. The tracker lists another revision for trixie outside the security repository: when two revisions coexist, check the one your apt installs with apt-get changelog dovecot-core | grep CVE-2026-42006. Deduce nothing from dovecot --version alone. If the update has to wait, the documented mitigation is a low vsz_limit value for the imap process: it caps the memory a client can consume.

Two sources stay silent or disagree, and it is better to know it. Dovecot.org does not publish fixed versions, where Debian gives them per distribution. And the exim.org security page did not index these CVEs when we checked on 28 October 2026: we therefore cite no upstream date for Exim. The distribution advisories, Ubuntu and Debian, are what decide your package.

Checking the logs after the fix

Fixing does not tell whether someone came by earlier. Look for abnormal stops since the advisory: journalctl -u exim4 --since "2026-09-28" | grep -i -E 'segfault|signal|core dumped', then journalctl -k --since "2026-09-28" | grep -i -E 'segfault|out of memory'. On the Dovecot side, journalctl -u dovecot --since "2026-09-28" | grep -i -E 'out of memory|killed' spots an imap process killed for lack of memory.

Also read the Exim log (/var/log/exim4/mainlog on Debian and Ubuntu) for messages sent from senders you do not know. No trace proves nothing: a memory leak leaves no line. Keep these commands as a routine check after each advisory, not as proof of innocence.

Who keeps a mail server patched?

Fixing an exposed MTA seems reserved for a system administrator. The procedure above takes a few commands and replays on every advisory: read the changelog, update, restart, check the process. The real cost is vigilance, meaning following the USN and DSA notices, testing, and never leaving a machine aside.

On a ServOrbit VPS you get root access and a choice of OS (Ubuntu, Debian, AlmaLinux, Rocky). If you do not want to keep these fixes up yourself, the VPS administration option exists, to be subscribed separately. This guide is provided as is, without support for your configuration. And if your goal is only to have professional addresses, professional email spares you from running an MTA.

Official documentation

Ubuntu notice USN-8834-1 (Exim): https://ubuntu.com/security/notices/USN-8834-1

Ubuntu entry for CVE-2026-94054: https://ubuntu.com/security/CVE-2026-94054

Debian tracker for CVE-2026-94054: https://security-tracker.debian.org/tracker/CVE-2026-94054

Debian tracker for CVE-2026-42006: https://security-tracker.debian.org/tracker/CVE-2026-42006

Dovecot security page: https://dovecot.org/security

Open-Xchange advisory oxdc-adv-2026-0002: https://documentation.open-xchange.com/dovecot/security/advisories/html/2026/oxdc-adv-2026-0002.html

Exim proxy support (hosts_proxy): https://www.exim.org/exim-html-current/doc/html/spec_html/ch-proxies.html

Exim security page: https://www.exim.org/static/doc/security/

A VPS of your own, with root and your choice of OS

A ServOrbit VPS gives you root access, a dedicated IPv4 and a choice of OS (Ubuntu, Debian, AlmaLinux, Rocky). If you do not want to keep an exposed mail server patched yourself, the VPS administration option exists; otherwise, professional email spares you from running an MTA.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.

Message us on WhatsAppopens in a new tab