Vigil@nce : PostgreSQL, obtention d’informations
mars 2009 par Vigil@nce
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut obtenir des informations sur les données d’une
table qu’il ne peut pas lire.
Gravité : 1/4
Conséquences : lecture de données
Provenance : client intranet
Moyen d’attaque : aucun démonstrateur, aucune attaque
Compétence de l’attaquant : expert (4/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Nombre de vulnérabilités dans ce bulletin : 3
Date création : 11/03/2009
PRODUITS CONCERNÉS
PostgreSQL
DESCRIPTION DE LA VULNÉRABILITÉ
Les privilèges accordés sur une table peuvent être définis par
l’administrateur : SELECT (lecture), UPDATE (modification), DELETE
(effacement), etc. Un attaquant ne possédant pas le privilège
SELECT sur une table peut dans certains cas obtenir des
informations.
Lorsqu’un utilisateur ne possède pas le privilège SELECT sur une
table, mais possède le privilège UPDATE ou DELETE, et si cette
table possède une contrainte unique, alors l’insersion
d’enregistrement doublons provoque une erreur. Il peut donc en
déduire que la clé était déjà présente dans l’index unique.
[grav:1/4]
Lorsqu’un utilisateur ne possède pas le privilège SELECT sur une
table, mais possède le privilège UPDATE ou DELETE sur une autre
table liée, alors l’effacement d’un enregistrement de la seconde
table échoue à cause d’un contrainte de type "foreign key". Il
peut donc en déduire qu’il existe un enregistrement dans la
première table associé à cette clé. [grav:1/4]
Lorsqu’un utilisateur ne possède pas le privilège SELECT sur une
table possédant une clé primaire/indexée contenant des
informations sensibles, il peut employer EXPLAIN pour obtenir des
statistiques sur les données. [grav:1/4]
Un attaquant peut ainsi obtenir des informations sur les données
d’une table qu’il ne peut pas lire.
CARACTÉRISTIQUES
Références : BID-34069, VIGILANCE-VUL-8529
http://vigilance.fr/vulnerabilite/PostgreSQL-obtention-d-informations-8529