Vigil@nce : Ruby, déni de service de rb_ary_fill
juillet 2008 par Vigil@nce
SYNTHÈSE
Lorsqu’un programme Ruby utilise la méthode Array.fill() avec des
paramètres incorrects, il se stoppe.
Gravité : 1/4
Conséquences : déni de service du client
Provenance : document
Moyen d’attaque : 1 démonstrateur
Compétence de l’attaquant : spécialiste (3/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : faible (1/3)
Date création : 03/07/2008
Référence : VIGILANCE-VUL-7925
PRODUITS CONCERNÉS
– Fedora [versions confidentielles]
– Unix - plateforme
DESCRIPTION
Le langage Ruby permet de créer des scripts orientés objet.
La méthode Array.fill() remplit un tableau avec des éléments
répétés. Par exemple :
a.fill("A", 0..2)
Cette méthode est implémentée dans la fonction rb_ary_fill() du
fichier array.c.
Cependant, si le nombre de répétitions vaut 0x3fffffff, un entier
déborde. Cette erreur conduit au déréférencement d’un pointeur
NULL, puis à l’arrêt du programme.
Un attaquant autorisé à injecter une valeur illicite dans
Array.fill() peut ainsi stopper l’application Ruby.
CARACTÉRISTIQUES
Références : 453589, CVE-2008-2376, FEDORA-2008-6033,
VIGILANCE-VUL-7925