Vigil@nce - Ruby : appel à DL/Fiddle en mode SAFE
mai 2013 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Lorsque Ruby est en mode $SAFE, les fonctions DL/Fiddle peuvent
être appelées sur une variable teintée, ce qui peut conduire à
l’exécution de code.
– Produits concernés : Slackware, Unix (plateforme)
– Gravité : 2/4
– Date création : 14/05/2013
DESCRIPTION DE LA VULNÉRABILITÉ
La variable $SAFE indique le niveau de sécurité à appliquer sur le
code Ruby. Lorsque $SAFE est non nul, les variables teintées
(provenant de l’extérieur du programme) ne peuvent pas être
utilisées par des fonctionnalités sensibles.
Les modules DL et Fiddle de Ruby, permettent de créer de nouvelles
fonctions Ruby grâce à dlopen(). Cependant, ces nouvelles
fonctions sont autorisées à travailler sur des variables teintées.
Lorsque Ruby est en mode $SAFE, les fonctions DL/Fiddle peuvent
donc être appelées sur une variable teintée, ce qui peut conduire
à l’exécution de code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Ruby-appel-a-DL-Fiddle-en-mode-SAFE-12799