Risque

  • Exécution de code arbitraire ;
  • déni de service à distance ;
  • élévation de privilèges.

Systèmes affectés

  • Ruby 1.8.6 pour les versions antérieures à 1.8.6-p287 ;
  • Ruby 1.8.7 pour les versions antérieures à 1.8.7-p72 ;
  • Ruby 1.9 pour la version r18423 ainsi que celles antérieures.

Résumé

Plusieurs vulnérabilités ont été identifiées dans Ruby. Les conséquences de l'exploitation de ces dernières sont variées.

Description

Plusieurs vulnérabilités ont été identifiées dans Ruby :

  1. certaines concernent les niveaux de sûreté dans Ruby, dont des méthodes comme untrace_var() qui ne devraient pas être autorisées à certains niveaux ou la variable $PROGRAM_NAME modifiable au niveau 4 ;
  2. une mauvaise manipulation des en-têtes HTTP par WEBrick, et en particulier dans la fonction WEBrick::HTTPUtils.split_header_value() ;
  3. un mauvais contrôle des appels de fonctions par la bibliothèque DL (dynamic linker).
  4. une mauvaise génération d'aléas par resolv.rb pour les échanges DNS concernant les identifiants de transactions ou le choix des ports sources.

Solution

Se référer au bulletin de sécurité de l'éditeur pour l'obtention des correctifs (cf. section Documentation).

Documentation