3 vulnérabilités corrigées dans Squid pour Ubuntu

Date de publication :

3 vulnérabilités affectant le logiciel Squid sur Ubuntu ont été corrigées. Squid est une application de serveur mandataire (proxy) pour gérer du filtrage Web ou encore un système de mise en tampon pour accélérer la navigation de multiples utilisateurs.

L’exploitation de ces vulnérabilités permettrait à un utilisateur distant de réaliser du déni de service, en envoyant des requêtes malformées pouvant faire crasher le serveur Squid.

Détails techniques :  

  • CVE-2019-12525 [Score CVSS V3 9.8] : Lors de l’utilisation de l’authentification de type Digest, le serveur Squid va notamment lire le champ Proxy-Authorization des entêtes. Pendant l’attribution de mémoire pour stocker la valeur du champ, le serveur fait une allocation de mémoire de la taille de la longueur du champ moins 2 si le champ commence par un guillemet et finit par un guillemet. Ainsi, si le champ est composé d’un seul guillemet, il remplit la condition précédente et une attribution de mémoire négative est réalisée, menant à un crash du serveur.

 

  • CVE-2019-12529 [Score CVSS V3 5.9] : Lors de l’utilisation de l’authentification Basic (envoi du mot de passe encodé en Base64 dans un paquet HTTP), la fonction de décodage uudecode est utilisée, pour notamment décoder le champ Proxy-Authorization. Il n'y a pas de vérification réalisée pour s'assurer que la longueur du champ à décoder ne dépasse pas la taille du tampon. Ainsi, des cases mémoire adjacentes peuvent être décodées lors de l'exécution de la fonction, menant à un crash du serveur.

 

  • CVE-2019-12527 [Score CVSS V3 8.8] : Lors de l’utilisation de l’authentification Basic, Squid utilise un tampon global pour stocker la donnée décodée de la fonction getAuth, qui va récupérer les identifiants de l'utilisateur depuis les entêtes reçus. Squid ne vérifie pas que la longueur de la donnée décodée n’est pas supérieure à la taille de ce tampon, pouvant mener à un dépassement de la mémoire tampon basé sur la pile.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Déni de service

Criticité

  • Score CVSS : 9.8 (score de la vulnérabilité la plus élevée)

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

  • Aucun code d’exploitation n’est disponible.

Composants & versions vulnérables

Squid est vulnérable sur les versions d’Ubuntu suivantes :

  • Ubuntu 19.04
  • Ubuntu 18.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 12.04 ESM

CVE

Solutions ou recommandations

Mise en place de correctif de sécurité

Pour chaque version vulnérable, une mise à jour du paquet squid est proposée :

  • Ubuntu 19.04 : squid - 4.4-1ubuntu2.2
  • Ubuntu 18.04 LTS : squid3 - 3.5.27-1ubuntu1.3
  • Ubuntu 16.04 LTS : squid3 - 3.5.12-1ubuntu7.8
  • Ubuntu 12.04 ESM : squid3 - 3.1.19-1ubuntu3.12.04.10

Solution de contournement

  • Aucune solution n'a été proposée.