Une vulnérabilité dans Exim entraînant une exécution de code à distance sur le serveur.

Une vulnérabilité critique a été identifiée dans le serveur de messagerie Exim (CVE-2026-45185), permettant l'exécution à distance de code sur le serveur. Le problème apparaît à partir de la version Exim 4.97 lorsqu'il est compilé avec la bibliothèque GnuTLS (« USE_GNUTLS=yes ») et a été corrigé dans la version Exim 4.99.3. Les compilations utilisant OpenSSL ou d'autres bibliothèques que GnuTLS ne sont pas affectées par cette vulnérabilité.

Le problème est causé par l'accès à une mémoire déjà libérée (use-after-free) dans le backend de GnuTLS et peut être exploité en se connectant à des serveurs qui prennent en charge l'extension « ESMTP CHUNKING » et la commande BDAT, permettant le transfert par morceaux du corps du message au lieu d'un envoi indivisible par la commande DATA. Une corruption de la mémoire du processus se produit lorsque le client initie une fermeture prématurée de la session TLS avec la commande close_notify pendant le transfert du corps du message via BDAT et envoie ensuite un octet sans chiffrement dans la même connexion TCP.

Lorsqu'elle reçoit la commande close_notify, le backend GnuTLS appelle une fonction d'interruption de session TLS, libérant les tampons associés à la session. En raison d'une erreur dans le code backend, malgré la libération du tampon TLS, le gestionnaire BDAT continue de lire des données du flux et appelle la fonction ungetc(), ce qui, lors de l'envoi de données non chiffrées par la suite, entraîne l'écriture d'un octet dans un tampon déjà libéré. Cet octet corrode les métadonnées de l'allocation de mémoire dans le tas (heap), ce qui a été exploité pour créer un exploit capable d'exécuter un code arbitraire. le serveur.

Au départ, les chercheurs ont généré un exploit partiellement fonctionnel à l'aide de l'IA, qui a permis d'exécuter du code, mais qui ne fonctionnait que dans des conditions idéales, sur des systèmes avec ASLR et PIE désactivés, et avec une version spécifique de la bibliothèque libc. Ensuite, une tentative a été faite pour créer un exploit avec l'aide d'un humain, dans laquelle certaines difficultés ont été surmontées et une fuite d'adresse de la pile a été obtenue, mais avant la date prévue de divulgation de la vulnérabilité, l'exploit n'avait pas été finalisé. Selon les chercheurs ayant identifié la vulnérabilité, les assistants IA ne sont pas encore capables de créer des exploits pour des produits complexes, mais ils espèrent qu'à l'avenir d'autres chercheurs pourront finaliser leur travail et rédiger un exploit pleinement fonctionnel.

Parmi les principales distributions, les versions Exim 4.97+ sont utilisées dans Debian 13, Ubuntu 24.04+, SUSE/openSUSE, Arch Linux, Alpine Linux 3.19+, ALT Linux p11, ROSA, Gentoo, OpenWRT, Fedora, EPEL (exim n'est pas inclus dans le dépôt standard de RHEL) et FreeBSD. La compilation d'Exim avec GnuTLS est utilisée par défaut dans Debian et Ubuntu, mais dans d'autres distributions, cela nécessite des précisions. Comme solution contournée pour bloquer la vulnérabilité, il est possible de désactiver l'extension CHUNKING en utilisant la configuration chunking_advertise_hosts dans le fichier de configuration.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster