Vigil@nce : PostgreSQL, corruption du fichier de log
avril 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant authentifié peut employer des requêtes contenant un
caractère spécial, afin de corrompre le fichier de log de
PostgreSQL, ce qui empêche le fonctionnement des outils d’analyse
de logs.
– Gravité : 1/4
– Date création : 31/03/2011
PRODUITS CONCERNÉS
– OpenSUSE
– PostgreSQL
DESCRIPTION DE LA VULNÉRABILITÉ
Selon les systèmes, les sauts de lignes utilisent des caractères
différents :
– \n (0x0A) : Unix
– \r\n (0x0D 0x0A) : MS-DOS
– \r (0x0D) : Mac
La fonction append_with_tabs() du fichier src/backend/utils/error/elog.c
insère des tabulations dans les entrées journalisées contenant des
sauts de lignes. Par exemple, "un message\nsur deux lignes" est
journalisé en :
un message\n
\tsur deux lignes
Cependant, le caractère ’\r’ (0x0D) n’est pas géré. Une ligne
contenant ce caractère n’est pas scindée en deux. Par exemple, "un
message\rsur deux lignes" est journalisé en :
un message\rsur deux lignes
Un outil d’analyse de logs interprètera alors "sur deux lignes"
comme une nouvelle entrée, car cette chaîne ne commence pas par
une tabulation.
Un attaquant authentifié peut donc employer des requêtes contenant
un caractère spécial, afin de corrompre le fichier de log de
PostgreSQL, ce qui empêche le fonctionnement des outils d’analyse
de logs.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/PostgreSQL-corruption-du-fichier-de-log-10505