Exim heeft beveiligingsupdates uitgebracht om een ernstig beveiligingsprobleem op te lossen dat van invloed is op bepaalde configuraties en dat geheugenbeschadiging en mogelijke code-uitvoering mogelijk zou kunnen maken.
Exim is een open-source Mail Transfer Agent (MTA) ontworpen voor Unix-achtige systemen voor het ontvangen, routeren en bezorgen van e-mail.
De kwetsbaarheid, bijgehouden als CVE-2026-45185, ook bekend als Dead.Letter, is beschreven als een use-after-free kwetsbaarheid bij het parseren van de berichttekst van Exim voor binaire datatransmissie (BDAT) wanneer een TLS-verbinding wordt afgehandeld door GnuTLS.
“Het beveiligingslek wordt geactiveerd tijdens de verwerking van de hoofdtekst van BDAT-berichten wanneer een client een TLS close_notify-waarschuwing verzendt voordat de hoofdtekstoverdracht is voltooid, en vervolgens een laatste byte in leesbare tekst op dezelfde TCP-verbinding verzendt”, aldus Exim in een advies dat vandaag is vrijgegeven.
“Deze opeenvolging van gebeurtenissen kan ervoor zorgen dat Exim schrijft in een geheugenbuffer die al is vrijgegeven tijdens het afbreken van de TLS-sessie, wat leidt tot heap-corruptie. Een aanvaller hoeft alleen maar een TLS-verbinding tot stand te kunnen brengen en de CHUNKING (BDAT) SMTP-extensie te gebruiken.”
Het probleem heeft gevolgen voor alle Exim-versies van 4.97 tot en met 4.99.2. Dat gezegd hebbende, heeft dit alleen invloed op builds die USE_GNUTLS=yes gebruiken, wat betekent dat builds die afhankelijk zijn van andere TLS-bibliotheken zoals OpenSSL niet worden beïnvloed.
Federico Kirschbaum, hoofd van het Security Lab bij XBOW, een autonoom testplatform voor cyberbeveiliging, heeft de fout op 1 mei 2026 ontdekt en gerapporteerd.
“Tijdens het afsluiten van TLS maakt Exim zijn TLS-overdrachtsbuffer vrij, maar een geneste BDAT-ontvangstwrapper kan nog steeds inkomende bytes verwerken en uiteindelijk ungetc() aanroepen, dat een enkel teken (n) naar de vrijgekomen regio schrijft”, aldus Kirschbaum. “Dat schrijven van één byte komt terecht in de metagegevens van Exim’s allocator, waardoor de interne vorm van de allocator wordt aangetast; de exploit maakt vervolgens gebruik van die corruptie om verdere primitieven te verkrijgen.”
XBOW beschreef de kwetsbaarheid als “een van de meest hoogwaardige bugs” die tot nu toe in Exim zijn ontdekt, en voegde eraan toe dat voor het activeren ervan vrijwel geen speciale configuratie op de server vereist is.
De tekortkoming is verholpen in versie 4.99.3. Alle gebruikers wordt geadviseerd zo snel mogelijk te upgraden. Er zijn geen oplossingen die het beveiligingslek oplossen.
“De oplossing zorgt ervoor dat de invoerverwerkingsstack netjes wordt gereset wanneer een TLS-melding wordt ontvangen tijdens een actieve BDAT-overdracht, waardoor wordt voorkomen dat de verouderde pointers worden gebruikt”, aldus Exim.
Dit is niet de eerste keer dat cruciale use-after-free-bugs in Exim worden onthuld. Eind 2017 repareerde Exim een use-after-free kwetsbaarheid in de SMTP-daemon (CVE-2017-16943, CVSS-score: 9.8) die niet-geverifieerde aanvallers hadden kunnen misbruiken om externe code uit te voeren via speciaal vervaardigde BDAT-opdrachten en de controle over de e-mailserver over te nemen.