Posté par usa le 2014-11-13
Traduit par Geoffrey Roguelon
Une entité non restreinte peut mener à une vulnérabilité dans REXML, similaire aux failles “Vulnérabilité de type Déni de service par expansion des entités dans REXML (bombe XML, CVE-2013-1821)” et “CVE-2014-8080 : Déni de service sur l’expansion XML”. Cette vulnéranilité a reçu l’identifiant CVE CVE-2014-8090. Nous vous recommandons vivement de mettre à jour Ruby.
Détails
Ceci est correctif supplémentaire pour les failles “CVE-2013-1821” et “CVE-2014-8080”. Les précédents correctifs corrigaient la récursion d’expansions dans un certain nombre de lieux et la taille total des chaînes de caractères créées. Cependant, cela n’a pas pris en compte l’ancienne limite utilisée pour l’expansion d’extension. La récursion d’expansion d’une chaîne de caractères peut amener à l’occupation totale du CPU. Lors de la lecture des nœuds d’un document XML, le parseur REXML peut être forcé à créer des chaînes de caractères d’une très grande taille et qui consomme la totalité de la mémoire de la machine, causant ainsi une attaque par déni de service.
Le code impacté ressemble à ceci :
Tous les utilisateurs utilisant une version impactée doivent soit mettre à jour ou utiliser une solution de contournement dans les plus brefs délais.
Versions concernées
- Toutes les versions de Ruby 1.9 antérieures à Ruby 1.9.3 patchlevel 551
- Toutes les versions de Ruby 2.0 antérieures à Ruby 2.0.0 patchlevel 598
- Toutes les versions de Ruby 2.1 antérieures à Ruby 2.1.5
- Toutes les révisions du trunk antérieures à 48402
Solution de contournement
Si vous ne pouvez pas mettre à jour Ruby, utilisez le patch suivant :
Crédit
Merci à Tomas Hoger pour le signalement de ce bug.
Historique
- Article publié le 13 novembre 2014 à 12h00 (UTC)