Mise à jour de sécurité pour le proxy Squid sur Debian

Date de publication :

5 vulnérabilités découvertes sur certaines versions du paquet Squid sur Debian ont été corrigées. Squid est un logiciel qui permet de mettre en place un serveur mandataire (serveur proxy) sur des distributions Linux. Ce serveur peut gérer du filtrage web ou encore un système de mise en tampon pour accélérer la navigation de multiples utilisateurs.

En exploitant ces vulnérabilités, un attaquant pourrait réaliser du déni de service, de l’exécution de code arbitraire ou de l’injection de code indirecte (XSS).

3 de ces vulnérabilités (CVE-2019-12525, CVE-2019-12527 et CVE-2019-12529) ont été corrigées le mois dernier sur Ubuntu, comme mentionné dans ce bulletin.

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 lire le champ Proxy-Authorization dans les 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-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.

 

  • CVE-2019-13345 [Score CVSS V3 6.1] : Le module web cachemgr.cgi est vulnérable à des injections de code indirecte (XSS) sur les paramètres « user_name » ou « auth » (ce module permet de produire des statistiques sur le processus Squid pendant son fonctionnement). Ceci est dû à un manque de contrôle et d’échappement sur ces champs en particulier. L’injection peut être déclenchée en renseignant une valeur particulière pour ces champs lors d’une requête GET vers le proxy.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Déni de service
  • Injection de code indirecte
  • Exécution de code arbitraire

Criticité

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

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

  • Aucun code d’exploitation n’est disponible.

Composants & versions vulnérables

  • CVE-2019-13345 : Squid 4.7
  • CVE-2019-12854 : Squid 4.x à 4.7
  • CVE-2019-12529 : Squid 2.x à 2.7.STABLE9, 3.x à 3.5.28 et 4.x à 4.7
  • CVE-2019-12527 : Squid 4.0.23 à 4.7
  • CVE-2019-12525 : Squid 3.3.9 à 3.5.28 et 4.x à 4.7

CVE

  • CVE-2019-13345
  • CVE-2019-12854
  • CVE-2019-12529
  • CVE-2019-12527
  • CVE-2019-12525

Solutions ou recommandations

Mise en place de correctif de sécurité

  • Sur la distribution stable de Debian (buster), les vulnérabilités sont corrigées avec la version 4.6-1+deb10u1 de Squid.

Solution de contournement

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