Nach Darstellung von Exim wird die Schwachstelle während der Verarbeitung eines BDAT-Nachrichtenkörpers ausgelöst: Ein Client sendet eine TLS-Warnung vom Typ close_notify, bevor die Übertragung des Nachrichtenkörpers abgeschlossen ist, und schiebt anschließend über dieselbe TCP-Verbindung ein letztes Byte im Klartext nach. Diese Abfolge bringt Exim dazu, in einen Speicherbereich zu schreiben, der beim Abbau der TLS-Sitzung bereits freigegeben wurde — die Folge ist eine Beschädigung des Heap-Speichers.
Entdeckt und gemeldet wurde der Fehler nach Angaben von Exim am 1. Mai 2026 von Federico Kirschbaum, Leiter des Security Lab bei XBOW, einer Plattform für autonome Sicherheitstests. Kirschbaum beschreibt den Ablauf im Detail: Während des TLS-Shutdowns gibt Exim seinen TLS-Transferpuffer frei, doch ein verschachtelter BDAT-Empfangs-Wrapper verarbeite weiterhin eingehende Bytes und rufe schließlich ungetc() auf. Dabei werde ein einzelnes Zeichen — ein Zeilenumbruch — in den bereits freigegebenen Bereich geschrieben.
Dieser Ein-Byte-Schreibvorgang treffe laut Kirschbaum auf die Metadaten des Speicherzuteilers und beschädige dessen interne Struktur; der Exploit nutze diese Beschädigung anschließend, um weitere Angriffsprimitiven zu gewinnen. XBOW bezeichnete die Lücke als einen der hochkarätigsten Fehler, die bislang in Exim gefunden wurden, und betonte, dass für die Auslösung auf dem Server nahezu keine besondere Konfiguration nötig sei.
Behoben wurde das Problem in Version 4.99.3. Allen Nutzern wird geraten, so schnell wie möglich zu aktualisieren, da es keine Gegenmaßnahmen gibt, die die Schwachstelle anderweitig beseitigen. Nach Angaben von Exim sorgt der Fix dafür, dass der Verarbeitungsstapel für eingehende Daten sauber zurückgesetzt wird, wenn während einer aktiven BDAT-Übertragung eine TLS-Schließbenachrichtigung eintrifft — damit werden veraltete Zeiger nicht mehr verwendet.
Es ist nicht das erste Mal, dass kritische Use-after-free-Fehler in Exim öffentlich werden. Bereits Ende 2017 schloss das Projekt eine Use-after-free-Schwachstelle im SMTP-Daemon (CVE-2017-16943, CVSS-Wert 9.8), die nicht authentifizierte Angreifer über speziell präparierte BDAT-Befehle hätten ausnutzen können, um aus der Ferne Code auszuführen und die Kontrolle über den Mailserver zu übernehmen.
