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 on Rails, injection SQL via limit ou offset

septembre 2008 par Vigil@nce

Un attaquant peut employer les paramètres :limit ou :offset afin
d’injecter une requête SQL via Ruby on Rails.

 Gravité : 2/4
 Conséquences : accès/droits privilégié
 Provenance : client intranet
 Moyen d’attaque : 1 attaque
 Compétence de l’attaquant : technicien (2/4)
 Confiance : confirmé par l’éditeur (5/5)
 Diffusion de la configuration vulnérable : élevée (3/3)
 Date création : 16/09/2008
 Référence : VIGILANCE-VUL-8111

PRODUITS CONCERNÉS

 Unix - plateforme

DESCRIPTION

Le framework Ruby on Rails peut employer une base de données
MySQL, PostgreSQL ou SQLite.

La méthode User.find() obtient la liste des utilisateurs, en
commençant à un offset et en limitant le nombre d’entrées. Par
exemple :
User.find(:all, :limit => 10, :offset => 5)
Cette fonction effectue une requête SQL de la forme :
select * from user LIMIT 10 OFFSET 5 ;
Dans un contexte web, les paramètres :limit et :offset proviennent
généralement de l’url.

Cependant, les valeurs :limit et :offset ne sont pas vérifiées. Un
attaquant peut par exemple employer :
User.find(:all, :limit => "10 ; requête_SQL ;", :offset => 5)
pour exécuter :
select * from user LIMIT 10 ; requête_SQL ; OFFSET 5
On peut noter que ce type d’injection ne fonctionne pas avec MySQL.

Un attaquant peut donc employer les paramètres limit ou offset
afin d’injecter une requête SQL via Ruby on Rails.

CARACTÉRISTIQUES

 Références : BID-31176, CVE-2008-4094, VIGILANCE-VUL-8111
 Url : https://vigilance.aql.fr/arbre/1/8111


Voir les articles précédents

    

Voir les articles suivants