Mise à jour Exim 4.94.2 avec correction de 10 vulnérabilités exploitables à distance

La publication de la version 4.94.2 du serveur de messagerie Exim corrige 21 vulnérabilités (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), identifiées par la société Qualys et sous le code de nom 21Nails. Dix de ces problèmes peuvent être exploités à distance (y compris pour exécuter du code avec les droits d'utilisateur root) à travers des manipulations des commandes SMTP lors des interactions avec le serveur.

Toutes les versions d’Exim, dont l’historique est suivi sur Git depuis 2004, sont vulnérables. Des prototypes d'exploits fonctionnels ont été préparés pour 4 vulnérabilités locales et 3 problèmes à distance. Les exploits des vulnérabilités locales (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) permettent d'élever les privilèges au niveau de l'utilisateur root. Deux problèmes à distance (CVE-2020-28020, CVE-2020-28018) permettent d'exécuter du code sans authentification avec les droits de l'utilisateur exim (ce qui peut ensuite conduire à un accès root en exploitant l'une des vulnérabilités locales).

La vulnérabilité CVE-2020-28021 permet d'exécuter du code à distance avec les droits root, mais nécessite un accès authentifié (l'utilisateur doit établir une session authentifiée, après quoi il peut exploiter la vulnérabilité par des manipulations de l'argument AUTH dans la commande MAIL FROM). Le problème provient du fait que l'attaquant peut provoquer une substitution de chaîne dans l'en-tête du fichier spool en raison de l'écriture de la valeur authenticated_sender sans un échappement approprié des caractères spéciaux (par exemple, en transmettant la commande «MAIL FROM:<> AUTH=Raven+0AReyes»).

Il est également à noter qu'une autre vulnérabilité à distance CVE-2020-28017 peut être exploitée pour exécuter du code avec les droits de l'utilisateur «exim» sans authentification, mais nécessite plus de 25 Go de mémoire. Pour les 13 autres vulnérabilités, des exploits potentiels pourraient également être préparés, mais aucun travail dans ce sens n’a encore été effectué.

Les développeurs d’Exim ont été informés des problèmes dès octobre dernier et ont consacré plus de 6 mois à la mise au point de correctifs. Il est fortement recommandé à tous les administrateurs de mettre à jour Exim sur leurs serveurs de messagerie. serveurs Jusqu'à la version 4.94.2. Toutes les versions d'Exim avant la sortie de 4.94.2 sont considérées comme obsolètes. La publication de la nouvelle version a été coordonnée avec les distributions qui ont également publié des mises à jour des paquets : Ubuntu, Arch Linux, FreeBSD, Debian, SUSE et Fedora. RHEL et CentOS ne sont pas affectés par le problème, car Exim n'est pas inclus dans leur référentiel de paquets standard (la mise à jour est encore absente dans EPEL).

Vulnérabilités à distance :

  • CVE-2020-28017 : Débordement entier dans la fonction receive_add_recipient();
  • CVE-2020-28020 : Débordement entier dans la fonction receive_msg();
  • CVE-2020-28023 : Lecture en dehors de la zone tampon allouée dans la fonction smtp_setup_msg();
  • CVE-2020-28021 : Insertion d'une nouvelle ligne dans l'en-tête du fichier spool;
  • CVE-2020-28022 : Lecture et écriture en dehors de la zone tampon allouée dans la fonction extract_option();
  • CVE-2020-28026 : Troncature et insertion de chaîne dans la fonction spool_read_header();
  • CVE-2020-28019 : Échec lors de la réinitialisation du pointeur de fonction après une erreur BDAT;
  • CVE-2020-28024 : Débordements par le bas de la zone tampon dans la fonction smtp_ungetc();
  • CVE-2020-28018 : Accès à la zone tampon après sa libération (use-after-free) dans tls-openssl.c
  • CVE-2020-28025 : Lecture en dehors de la zone tampon allouée dans la fonction pdkim_finish_bodyhash().

Vulnérabilités locales :

  • CVE-2020-28007 : Attaque par lien symbolique dans le répertoire du journal Exim;
  • CVE-2020-28008 : Attaques sur le répertoire de spool;
  • CVE-2020-28014 : Création de fichiers arbitraires;
  • CVE-2021-27216 : Suppression de fichiers arbitraires;
  • CVE-2020-28011 : Débordement de tampon dans la fonction queue_run();
  • CVE-2020-28010 : Écriture au-delà de la zone tampon dans la fonction main();
  • CVE-2020-28013 : Débordement de tampon dans la fonction parse_fix_phrase();
  • CVE-2020-28016 : Écriture au-delà de la zone tampon dans la fonction parse_fix_phrase();
  • CVE-2020-28015 : Insertion d'une nouvelle ligne dans l'en-tête du fichier spool;
  • CVE-2020-28012 : Absence du drapeau close-on-exec pour un canal anonyme privilégié;
  • CVE-2020-28009 : Débordement entier dans la fonction get_stdinput().



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