
Exim CVE-2026-45185 "Dead.Letter" — CVSS 9.8 UAF via GnuTLS/BDAT, unauthenticated RCE. The BDAT handler has now been the source of two 9.8 CVEs.
Posting this as a discussion starter because the technical shape of this bug is worth talking through, not just the patch advisory.
**The bug (CVE-2026-45185 / Dead.Letter):**
Exim uses indirect function pointers to drive its SMTP I/O state machine. After STARTTLS, those pointers get replaced with GnuTLS-backed equivalents, and a 4096-byte `xfer_buffer` is allocated for encrypted I/O. During a BDAT transfer, if the client sends a TLS `close_notify` alert before the transfer is complete, Exim frees `xfer_buffer` — but the nested BDAT receive wrapper remains active. Send one cleartext byte afterward, and Exim's stale `tls_ungetc` calls `ungetc()` into the freed region.
That one `\n` byte lands on glibc's largebin `fd_nextsize` metadata. From there, XBOW demonstrated a chain to full RCE — and noted that an LLM assisted with parts of the exploit development during their 11-day coordinated disclosure window.
**What I think is worth discussing:**
- **This is the second UAF in Exim's BDAT handler** — CVE-2017-16943 was structurally almost identical, 9 years ago. At what point does a recurring bug class in the same code path warrant a memory-safe rewrite of that component?
- **The GnuTLS vs OpenSSL split** — Debian/Ubuntu default to GnuTLS-backed Exim; RHEL/SUSE ship OpenSSL-linked builds. The blast radius of this CVE is *entirely* determined by a compile-time flag most sysadmins never thought about. How many organizations actually know which TLS backend their Exim binary uses?
- **AI-assisted exploit development during disclosure windows** — XBOW mentioned this somewhat casually. Are we going to start seeing this become routine? What does a 48-hour time-to-weaponized-exploit do to the coordinated disclosure model?
---
I wrote up a full technical breakdown (the heap corruption mechanics, exploit chain steps, affected distros, log-based detection) here if you want more background: https://www.techgines.com/post/dead-letter-exim-cve-2026-45185-a-critical-unauthenticated-rce-is-hiding-inside-your-gnutls-mail
I previously covered the PAN-OS CVE-2026-0300 buffer overflow here which shares the same "always-exposed infrastructure" operational problem: https://www.techgines.com/post/cve-2026-0300-pan-os-buffer-overflow-rce-user-id-authentication-portal
Curious what the community thinks — especially anyone who's done forensics on a compromised Exim host before. What does post-exploitation look like in practice on a shared hosting node?