Mo–Fr: 09:00–17:00 Sa–So: geschlossen
03578 310535 info@formality.de
FORMALITY Deutschland 01917 Kamenz
Wichtiges Sicherheitsupdate: Exim 4.99.1 schließt kritische SQL-Injection und Heap-Lücke
Die Maintainer des Exim Mail Transfer Agents haben die Version 4.99.1 freigegeben. Da es sich hierbei um ein kritisches Sicherheits-Release handelt, das eine „Reinkarnation“ früherer Schwachstellen (EXIM-Security-2025-12-09.1) adressiert, sollten Administratoren das Update umgehend einspielen.
Dringender Handlungsbedarf: Die Version 4.99.1 schließt die Lücke CVE-2025-67896. Betroffen sind insbesondere Installationen, die das SQLite-Backend für Ratelimits oder Lookups verwenden.
Die Sicherheitslücke: Ein technischer Deep-Dive
Basierend auf den Analysen von Andrew Fasano (NIST) handelt es sich um zwei eng miteinander verknüpfte Probleme in der SQLite-Integration von Exim 4.99:
1. SQL-Injection via Ratelimit-ACLs
Bisherige Fixes (wie in 4.98.1) schützten spezifisch den ETRN-Befehl. Es wurde jedoch entdeckt, dass die Ratelimit-Funktion weiterhin anfällig ist, wenn sie Schlüssel verwendet, die vom Absender kontrolliert werden können.
Ein konkreter Angriffsvektor:
Betrachten wir eine typische ACL-Konfiguration zur Spam-Abwehr:
ratelimit = 100 / 1h / per_rcpt / $sender_address
Ein Angreifer kann während des SMTP-Dialogs eine manipulierte Absenderadresse senden:
MAIL FROM:<' OR (SELECT 1 FROM (SELECT(SLEEP(10)))a) --@angreifer.de>
Da Exim 4.99 den Wert von $sender_address unzureichend maskiert in das SQL-Statement einbettet, bricht das eingeschleuste Hochkomma die Query auf. Im obigen Beispiel würde der Server für jede Mail 10 Sekunden pausieren (Time-based Attack), was zu einem vollständigen Denial-of-Service (DoS) führen kann.
2. Heap Buffer Overflow via bloom_size
Zusätzlich wurde eine Schwachstelle entdeckt, bei der ein nicht validiertes Datenbankfeld als Array-Grenze im Speicher verwendet wird. Wenn ein Angreifer (etwa durch die oben genannte SQL-Injection) die Kontrolle über Datenbankwerte erlangt, kann er eine extrem hohe bloom_size für die internen Filter erzwingen.
Dies führt zu einer Heap Corruption. Während ein direkter Exploit zur Code-Ausführung (RCE) komplex ist, ist ein Absturz des Mail-Prozesses bereits mit geringem Aufwand provozierbar.
Neuerungen & Stabilität in Version 4.99.1
Neben den Sicherheits-Fixes bringt das Release die Stabilität der 4.99-Serie auf ein neues Level:
- Systemweites De-Tainting: Exim erzwingt nun strikt, dass externe Daten (Tainted Data) bereinigt werden müssen, bevor sie in SQL-Abfragen fließen können.
- SMTP LIMITS (RFC 9422): Unterstützung für die Ankündigung von Server-Limits direkt im EHLO-Handshake.
- Strikte Namenslimits: Router- und Transportnamen sind nun auf 64 ASCII-Zeichen begrenzt, um Puffer-Probleme präventiv zu vermeiden.
Dokumentation zum Download (PDF)
Zusammen mit dem Release stehen die aktualisierten Handbücher zur Verfügung:
» Exim 4.99.1 Spezifikation herunterladen
Das vollständige Referenzwerk zu allen Optionen, Routern und Transporten.
» Exim 4.99.1 Filtering Guide herunterladen
Die spezialisierte Anleitung für Benutzer- und Systemfilter sowie Sieve.
Hinweis: Wenn Sie Exim 4.99 einsetzen und SQLite für Ratelimits oder Lookups nutzen, sind Sie unmittelbar gefährdet. Installieren Sie das Update auf 4.99.1 umgehend über Ihre Distribution oder durch Neukompilierung der Quellen.