Exim - CVE-2026-45185

Date de publication :

Il s'agit d'une vulnérabilité de type use-after-free dans le traitement des corps de messages BDAT (CHUNKING) avec le backend GnuTLS.

Exim est un agent de transfert de courrier électronique (MTA) open source pour les systèmes Unix et Linux, largement utilisé comme serveur SMTP pour la réception, le routage et la distribution des messages.

Lors de la fermeture TLS, Exim libère son tampon de transfert xfer_buffer mais le mécanisme BDAT conserve un pointeur résiduel vers cette zone libérée via lwr_receive_ungetc. L'envoi d'un TLS close_notify en cours de transfert suivi d'un octet final en clair déclenche l'écriture d'un octet dans la région libérée, corrompant les métadonnées de l'allocateur interne d'Exim.

Elle permet à un attaquant distant non authentifié d'exécuter du code arbitraire sur le serveur.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-416 : Use After Free

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

Exim versions 4.97 jusqu'à 4.99.2, compilées avec USE_GNUTLS=yes (STARTTLS et CHUNKING activés)

Contournement provisoire

Désactivation du support CHUNKING (BDAT) dans la configuration Exim si non requis (induit)

Solutions ou recommandations

Exim version 4.99.3 et supérieure