Une vulnérabilité critique découverte sur le gestionnaire de paquet APT

Un chercheur en sécurité a publié le 22 janvier un article de blog dans lequel il rend public une vulnérabilité sur le gestionnaire de paquet APT. En parallèle, de nombreuses distributions Linux ont publiée le même jour une mise à jour de sécurité relative à cette vulnérabilité. En l'exploitant, un attaquant pourrait exécuter du code arbitraire à distance avec des droits d'administrateur, sans qu'une interaction avec l'utilisateur ne soit nécessaire.

Advanced Packaging Tool (APT) est le gestionnaire de paquets utilisé par Debian et ses dérivés, il permet d'installer, désinstaller et mettre à jour les logiciels sur ces distributions, depuis un serveur stockant les paquets (appelé dépôt). Cela permet notamment de faciliter l’interopérabilité entre les différents logiciels. Les concepteurs d'APT on fait le choix de réaliser les mises à jour grâce au protocole HTTP. Il se trouve que ce processus de mise à jour est vulnérable à une attaque de type homme du milieu. Néanmoins, les développeurs du gestionnaire ont fait le choix de ne pas utiliser la version sécurisée du protocole HTTP et ont mis en place des mécanismes de protection supplémentaires. Selon le chercheur, l'utilisation d'HTTPS n'aurait pas empêché la vulnérabilité, mais aurait seulement rendu l'attaque plus complexe.

Des mises à jour de sécurité sont disponibles pour Ubuntusur Debian et un correctif est également disponible mais uniquement sur les versions security de Debian Jessie et Stretch.

Détails Techniques :

CVE-2019-3462 [CVSS 8.1] : La vulnérabilité est liée à la manière dont APT gère les redirections HTTP lors du téléchargement d'un paquet, certains paramètres n'étant en effet pas suffisamment contrôlés. Ainsi, un attaquant pourrait procéder à une attaque de type homme du milieu en se plaçant entre le client et le dépôt, ou bien en créant lui-même un dépôt malveillant. En temps normal, la redirection HTTP permet de trouver un autre dépôt lorsque celui que le programme tente d'atteindre est indisponible. Le chercheur indique que si l'entête HTTP Location (permettant de réaliser une redirection) est présent dans la requête, le client est alors redirigé vers cette hyperlien sans aucun contrôle. Il peut alors injecter un paquet malicieux, puis l’exécuter avec les droits d'administrateur, car l’exécution du programme APT nécessite des privilèges élevés.

Dans une vidéo publiée conjointement avec l’article, le chercheur a par ailleurs réalisé une démonstration de faisabilité, entre deux environnements en conteneurs.

Informations
+

Risques

  • Exécution de code arbitraire

Criticité

  • Score CVSS : 8.10

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

  • Un démonstration de faisabilité est détaillée sur le blog du chercheur mais aucun code d'exploitation n'est directement disponible.

Composants & versions vulnérables

  • Toutes les distributions Linux utilisant le gestionnaire de paquet APT version 1.4.8 et antérieures.

CVE

  • CVE-2019-3462

Recommandations
+

Mise en place de correctif de sécurité

  • La mise à jour 1.4.9 de APT corrige cette vulnérabilité, des correctifs ont été publiés pour Debian Stretch et Jessie ;

  • Sur Ubuntu, les versions 12.04 ESM, 14.04 LTS, 16.04 LTS, 18.04 LTS, 18.10 ont été mises à jour.

Solution de contournement

  • Le chercheur en sécurité indique dans son billet qu'il est possible de désactiver les redirections HTTP pour se protéger.