Exim fixes critical BDAT use-after-free that could enable remote code execution
Vulnerability Disclosure · 13 sources · Updated 4mo ago · First seen May 12, 2026

Exim maintainers released Exim 4.99.3 to fix a critical remotely reachable use-after-free flaw in the SMTP server’s BDAT body parsing path, tracked as CVE-2026-45185 and referred to as Dead.Letter. The vulnerability affects Exim 4.97 through 4.99.2/4.99.x when built with GnuTLS support and configured to advertise both STARTTLS and CHUNKING, and successful exploitation can cause heap corruption with potential remote code execution. Maintainers said Linux distributions received coordinated access to patches ahead of disclosure and urged users to upgrade immediately.
According to the advisory and follow-on reporting, the bug is triggered when a client sends a TLS close_notify before a BDAT transfer finishes and then sends a final cleartext byte over the same TCP connection, leaving Exim in an unsafe state. Exim said there are no effective mitigations short of upgrading, and fixed the issue in 4.99.3 by resetting the input-processing stack when TLS shutdown occurs during an active BDAT transfer. The flaw was reported by Federico Kirschbaum of XBOW security, with fuller technical details to be published under EXIM-Security-2026-05-01.1.


