1 Incidents de la semaine

Cette semaine, le CERTA a traité un incident concernant la compromission d’un poste de travail. L’analyse du disque dur a permis de montrer que l’infection du poste a eu lieu suite à la visite d’un site Internet compromis. Ce dernier redirigeait les visiteurs en fonction du User-Agent et du referrer, et ce lors de la première visite uniquement. La redirection n’affectait que les internautes utilisant Microsoft Windows et ayant suivi un lien depuis un moteur de recherche. Le téléchargement d’un code malveillant leur était alors proposé. Ce code malveillant était nommé en fonction de la recherche effectuée, pour inciter l’utilisateur à ouvrir le fichier. Par exemple, une recherche de la chaîne « toto » aurait donné un fichier nommé « toto.com ».

On peut facilement imaginer d’autres cas, plus dangereux, où l’utilisateur ne doit pas ouvrir un fichier mais est redirigé vers un site exploitant une vulnérabilité. Cet incident montre une nouvelle fois qu’on ne peut se fier aux sites que l’on visite, même connus, puisque ceux-ci peuvent être compromis.

Recommandations :

Il n’est pas aisé de se prémunir des incidents de ce type. Néanmoins, l’un des mécanismes de l’attaque reposant sur l’analyse du referrer, il est possible d’éviter la redirection vers le site malveillant soit :

  • en saisissant manuellement les adresses que l’on veut visiter ;
  • soit en copiant puis collant les résultats donnés par le moteur de recherche.

2 Déni de service dans Apache

Des scripts, librement disponibles sur l’Internet depuis cette semaine, permettent de provoquer un déni de service distant sur Apache (versions 1.3.x et 2.x) en utilisant une vulnérabilité de type épuisement de mémoire.

Pour ce faire, ces scripts envoient des requêtes HTTP de type HEAD spécialement conçues employant notamment l’entête HTTP Range et attendant un retour compressé au format gzip. Ce champ permet de demander une partie (intervalle) de la réponse. Son utilité principale est de permettre le téléchargement partiel de fichiers volumineux. Afin de provoquer un déni de service, les scripts vont demander un nombre élevé d’intervalles se chevauchant à l’aide du champ Range. L’utilisation d’un nombre élevé d’intervalles va entraîner l’épuisement de la mémoire.

L’équipe Apache a réagi à cette menace en proposant un certain nombre de contre-mesures. Elle propose notamment d’utiliser mod_headers pour supprimer le champ Range des requêtes entrantes à l’aide de la directive suivante : RequestHeader unset Range. D’autres contre-mesures sont proposées sur la liste de diffusion apache-httpd-dev. Il est également envisageable de contrôler la présence du champ Range à l’aide d’un proxy inverse ou d’un firewall applicatif.

L’équipe Apache prévoit de sortir rapidement un correctif pour cette vulnérabilité. Il faut noter que la version 1.3 de Apache ne sera pas corrigée car elle n’est plus maintenue. Le CERTA recommande la mise en place rapide du correctif lorsqu’il sera disponible.

Documentation

3 Mise à jour 5.3.8 de PHP

Cette semaine, le CERTA a publié un avis concernant une mise à jour de sécurité de PHP (avis CERTA-2011-AVI-461). Cette version, 5.3.7, corrige plusieurs vulnérabilités mais apporte également deux régressions :

  • une régression dans la fonction crypt() lorsque celle-ci est utilsée pour créer un condensat MD5 (seul le « sel » est retourné) ;
  • une régression dans les connexions SSL effectuées par le pilote MySQL mysqlnd.

Une nouvelle version, 5.3.8, a donc été publiée afin de supprimer ces régressions.

Le CERTA recommande d’effectuer la mise à jour de PHP vers la version 5.3.8. Il est à noter également que la branche 5.2 de PHP n’est plus maintenue.

Documentation

Rappel des avis émis

Dans la période du 15 au 21 août 2011, le CERT-FR a émis les publications suivantes :


Durant la même période, les publications suivantes ont été mises à jour :