Ubuntu corrige plusieurs vulnérabilités PHP sur son système

Date de publication :

Les équipes de sécurité d'Ubuntu ont publié un bulletin de sécurité dans lequel sont corrigées 7 vulnérabilités concernant PHP. Ces vulnérabilités peuvent permettre à un attaquant de porter atteinte à la confidentialité et l’intégrité des données ainsi qu’une exécution de code arbitraire. Les attaques sont peu complexes à mettre en œuvre et ne nécessitent pas de privilège particulier ou d'interaction avec un utilisateur.

PHP (pour Hypertext Preprocessor), est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale.
PHP a ainsi permis de créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia, etc. Il est considéré comme une des bases de la création de sites web dits dynamiques mais également des applications web.

Détails techniques

Les 5 vulnérabilités ont été référencées de la manière suivante :

  • CVE-2019-9638 [CVSS V3 7.5] CVE-2019-9639  [CVSS V3 7.5] :  Deux vulnérabilités affectant le composant EXIF de PHP, permettant de lire les métadonnées liées aux images. La méthode affectée par cette vulnérabilité est exif_process_IFD_in_MAKERNOTE effectuant une mauvaise initialisation des variables de tailles des données. Ces failles peuvent amener à lire des données non autorisées.
  • CVE-2019-9640 [CVSS V3 7.5] : Une vulnérabilité affectant le composant EXIF de PHP permettant une lecture non autorisée de données au travers de la méthode exif_process_SOFn.
  • CVE-2019-9641 [CVSS V3 9.8] : Une vulnérabilité affectant le composant EXIF de PHP permettant une lecture non autorisée de données au travers de la méthode exif_process_IFD_in_TIFF.
  • CVE-2019-9637 [CVSS V3 7.5] : Une vulnérabilité, liée à la mauvaise gestion des noms de fichiers, PHP utilise la fonction rename() du module libc des systèmes Unix. Ce renommage peut engendrer la modification des droits d’accès aux fichiers et pourrait permettre à des utilisateurs non autorisés d’accéder aux données.

La vulnérabilité suivante permet une exécution de code arbitraire :

  • CVE-2019-9675 [CVSS V3 8.1] : Une vulnérabilité de type dépassement de tampon en utilisant comme valeur un lien symbolique, un alias pointant vers un fichier ou un répertoire spécifique, de taille incorrecte. La structure PHP the_tar_header n’accepte en argument que les liens de taille inférieure à 100. Un attaquant pourrait alors effectuer une exécution de code arbitraire. Il est toutefois reporté que cette attaque n’est possible qu’en théorie et quasiment impossible en pratique. En effet, la valeur de lien incorrecte n'est ici possible que lorsque le lien symbolique serait contenue dans une archive, une fonctionnalité non présente.

La vulnérabilité suivante porte atteinte à la confidentialité des données :

  • CVE-2019-9022 [CVSS V3 7.5] : Un serveur DNS malicieux pourrait répondre à une requête en envoyant un paramètre avec une taille incorrecte. En effet l’analyseur DNS ne prend pas en compte lorsque dlen=0 pouvant conduire à une taille négative. La vulnérabilité réside dans la fonction dns_get_record() lorsque la requête DNS est de type DNS_CAA ou DNS_ANY.

Afin de se protéger contre ces vulnérabilités, il est recommandé de faire une mise à jour standard du système Ubuntu (ou, tout du moins, sur les paquets impactés) qui apportera toutes les modifications nécessaires sur les paquets PHP.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Atteinte à la confidentialité des données ;
  • Exécution de code arbitraire.

Criticité

  • Score CVSS : 9.80

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

  • Le code d’exploitation pour la CVE-2019-9022 est disponible ici
  • Le code d’exploitation pour la CVE-2019-9637 est disponible ici
  • Le code d’exploitation pour la CVE-2019-9638 est disponible ici
  • Le code d’exploitation pour la CVE-2019-9639 est disponible ici
  • Le code d’exploitation pour la CVE-2019-9640 est disponible ici
  • Le code d’exploitation pour la CVE-2019-9641 est disponible ici
  • Le code d’exploitation pour la CVE-2019-9675 est disponible ici

Composants & versions vulnérables

  • Plus globalement, les versions de PHP vulnérables sont :

    • Les versions avant 7.1.27 ;
    • Les versions 7.2.x avant la version 7.2.16 ;
    • Les versions 7.3.X avant la version 7.3.3.

CVE

  • CVE-2019-9022
  • CVE-2019-9637
  • CVE-2019-9638
  • CVE-2019-9639
  • CVE-2019-9640
  • CVE-2019-9641
  • CVE-2019-9675

Solutions ou recommandations

Mise en place de correctif de sécurité

  • Mettre à jour à la version Ubuntu 14.04 LTS prenant en compte tous ces correctifs.
  • Les paquets vulnérables ont été corrigés dans les dépôts Ubuntu.

Solution de contournement

  • Aucune solution de contournement n’est proposée.