Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Vigil@nce - Ruby : modification de variable malgré SAFE 4

octobre 2012 par Vigil@nce

Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre

SYNTHÈSE DE LA VULNÉRABILITÉ

Lorsqu’une application Ruby autorise un code externe à s’exécuter
en mode SAFE 4, il peut employer Exception ou NameError, afin de
modifier une variable de l’application.

Produits concernés : Fedora, Unix (plateforme)

Gravité : 2/4

Date création : 03/10/2012

DESCRIPTION DE LA VULNÉRABILITÉ

Le niveau de sécurité "$SAFE = 4" limite les fonctionnalités que
le code Ruby est autorisé à utiliser. Par exemple, en mode SAFE 4,
un code Ruby ne peut pas modifier une chaîne non "taintée"
(c’est-à-dire une chaîne interne à l’application). Le mode SAFE 4
est généralement employé pour exécuter du code provenant d’une
source non sûre, comme un plugin.

Une Exception ou un NameError peut être converti en chaîne. Par
exemple :
Exception.new($variable).to_s
NameError.new($variable).to_s

Les fonctions exc_to_s() et name_err_to_s() sont utilisées pour
effectuer cette conversion. Cependant, ces fonctions "taintent"
automatiquement la variable avec OBJ_INFECT(). Comme la variable
devient "taintée", le mode SAFE 4 n’empêche plus sa modification.

Lorsqu’une application Ruby autorise un code externe à s’exécuter
en mode SAFE 4, il peut donc employer Exception ou NameError, afin
de modifier une variable de l’application. Selon la variable
modifiée, l’application peut ensuite être amenée à effectuer des
opérations non prévues.

ACCÈS AU BULLETIN VIGIL@NCE COMPLET

http://vigilance.fr/vulnerabilite/Ruby-modification-de-variable-malgre-SAFE-4-11993


Voir les articles précédents

    

Voir les articles suivants