Plusieurs distributions affectées par des vulnérabilités sur systemd

Date de publication :

Des chercheurs en sécurité de Qualys ont découvert 3 vulnérabilités dans la suite logicielle systemd, utilisée par de nombreuses distributions Linux. L’exploitation de ces vulnérabilités combinées pourrait permettre d’exécuter du code arbitraire sur un système Linux avec des privilèges élevés. Parmi les deux vulnérabilités les plus élevées, l'une est exploitable à distance, tandis que l'autre nécessite d'être authentifiée sur le système. Les exploiter est néanmoins complexe mais aucun privilège initial n'est nécessaire, de même qu'aucune interaction avec un utilisateur. Les impacts estimés sur la confidentialité, l'intégrité et la disponibilité des données sont élevés. Les chercheurs ont pu démontrer l'exploitation avec une durée de procédure allant de 10 à 70 minutes selon l'architecture du processeur.

Le projet systemd a été développé afin d'unifier les configurations et le comportement des services de base sur les distributions Linux. Aujourd'hui, cette solution logicielle est installée par défaut sur les distributions Linux les plus populaires, comme Red Hat, Debian, Ubuntu, SUSE ou Mint. La vulnérabilité est plus particulièrement présente dans le composant journald, qui est le gestionnaire des journaux d'opérations de la suite logicielle et se charge, par exemple, de la journalisation du noyau Linux. La plupart des distributions Linux sont donc affectées par cette vulnérabilité. Les chercheurs indiquent néanmoins que certaines versions de Fedora et SUSE ne sont pas vulnérables, car elles incluent certaines protections.

Un correctif a été publié et intégré au projet. Cependant, les différentes distributions citées plus haut n'ont pas encore intégré ce correctif dans leurs dépôts. Du fait de la criticité de cette vulnérabilité, les utilisateurs sont invités à appliquer le correctif dès que celui-ci est disponible pour leur distribution.

Détails techniques

Les deux vulnérabilités les plus critiques ont été référencées de la manière suivante :

  • CVE-2018-16864 [CVSS v3 7.8] : Cette vulnérabilité peut être déclenchée en exécutant un certain type de commande via l'interpréteur (shell) Linux avec une grande taille d'arguments, de l'ordre du mégaoctet, entraînant ainsi l'arrêt du processus journald. Il s'agit plus particulièrement d'un problème de concurrence qui permettrait à un attaquant de manipuler la pile et contrôler le flot d’exécution. Cette attaque est cependant peu fiable, au contraire de l'exploitation des deux autres vulnérabilités. Elle n'est réalisable qu'en disposant d’exécution de commande sur le système cible.
  • CVE-2018-16865 [CVSS v3 7.8] : Cette vulnérabilité est similaire sous certains aspects à la précédente. Elle peut être déclenchée via l'envoi d'un large message au système de journalisation et permet ainsi de réaliser de l'exécution de code arbitraire à distance. Dans leur démonstration de faisabilité, les chercheurs ont pu contrôler le type de données écrites à l'endroit où ils le souhaitaient. À la différence de la précédente, cette vulnérabilité peut être exploitée à distance mais n'octroie pas un haut niveau de privilèges.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Déni de service ;
  • Elévation de privilèges ;
  • Exécution de code à distance.

Criticité

  • Score CVSS : 7.80

Existence d’un code d’exploitation de la vulnérabilité

  • Aucun code d'exploitation n'est directement disponible tel quel, mais les chercheurs ont publié dans leur analyse les différentes étapes nécessaires à sa réalisation.

Composants & versions vulnérables

  • systemd à partir des versions v201 et v230.

CVE

  • CVE-2018-16864
  • CVE-2018-16865
  • CVE-2018-16866

Solutions ou recommandations

Mise en place de correctif de sécurité

  • Les correctifs ne sont pas encore disponibles sur les dernières versions stables de RedHat, Fedora, Debian, Ubuntu et SUSE. Sur Debian, seule la CVE-2018-16866 dispose d'un correctif sur une version non stable.

Solution de contournement

  • Aucune solution de contournement n'est suggérée par les développeurs des différentes distributions ou par le projet systemd.