Eine Korrekturversion des Mailservers Exim 4.99.1 wurde veröffentlicht, die eine Schwachstelle (CVE-2025-67896) behebt, die es einem entfernten Angreifer ermöglicht, den Inhalt des Speichers außerhalb des zugewiesenen Puffers zu beschädigen. Potenziell könnte dieses Problem zur Remotecodeausführung auf dem Server genutzt werden, wobei jedoch bisher kein funktionierender Exploit vorliegt.
Die Schwachstelle ist im Code zur Verwaltung der internen Datenbank (Hints DB) auf Basis von SQLite vorhanden, die zur Speicherung von temporären Informationen, dem Status der Nachrichtenlieferung und den Informationen zur Intensität des E-Mail-Versands verwendet wird. Das Problem entsteht, weil Einträge aus der DB direkt in die interne Struktur „dbdata_ratelimit_unique“ umgewandelt wurden, ohne ordnungsgemäße Überprüfung. Es gab Situationen, in denen ein fester Array „bloom“ mit einer Größe von 40 Byte erstellt wurde, während der Inhalt des Feldes „bloom_size“, das die Anzahl der in das Array geschriebenen Elemente bestimmt, von der Größe der Daten in der DB abhing. Ein Angreifer konnte durch das Einfügen von Daten in die DB (unter Verwendung einer weiteren Schwachstelle) einen Schreibvorgang außerhalb des zugewiesenen Puffers initiieren, wodurch das Feld „bloom_size“ einen Wert annahm, der eindeutig größer war als die Größe des Arrays.
Das Problem tritt in den Versionen Exim 4.99 und 4.98.2 auf und betrifft nur Konfigurationen mit ACL ratelimit, bei denen die Parameter „unique“ oder „per_addr“ verwendet werden (zum Beispiel „warn ratelimit = 100 / 1h / per_addr / $sender_address“ oder „warn ratelimit = 100 / 1h / per_rcpt / unique=$sender_address“). Zudem muss Exim zum Ausführen des Angriffs mit Unterstützung für SQLite (USE_SQLITE=yes) kompiliert sein, was in der Konfigurationsdatei (hints_database = sqlite) aktiviert ist. In betroffenen Konfigurationen zeigt der Befehl „exim -bV“ die Ausgabe „Hints DB: Using sqlite3“ an.
Unter den großen Distributionen wurden die problematischen Versionen in Debian 13, Ubuntu 25.10, SUSE/openSUSE, Arch Linux, Fedora und FreeBSD verwendet. RHEL und abgeleitete Distributionen sind von dem Problem nicht betroffen, da Exim nicht in ihrem Standard-Paket-Repository enthalten ist (in EPEL wurde das Update für das exim-Paket bisher nicht veröffentlicht).
Es wird auch ein neuer Vektor zur Ausnutzung der Schwachstelle CVE-2025-26794 festgestellt, die im Februar-Release von Exim 4.98.1 behoben wurde. Die Schwachstelle ermöglicht die Einspeisung von SQL-Code in die interne Datenbank (Hints DB). Der zuvor hinzugefügte Fix hat einfache Anführungszeichen nicht maskiert. Ein Beispiel für einen MAIL FROM-Befehl, der zur Einspeisung von SQL-Code führt: „MAIL FROM:<„x’/**/UNION/**/SELECT/**/X'’—„@attacker.com>“. Diese Schwachstelle kann als Ausgangspunkt für die Schaffung von Bedingungen für die oben beschriebene Pufferüberlauf-Situation verwendet werden.
Quelle: opennet.ru
