Vigil@nce - libXfont : corromption de mémoire via LZW
août 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut créer une police de caractères illicite
compressée avec LZW, afin de faire exécuter du code dans les
applications liées à libXfont ouvrant ce fichier compressé.
Gravité : 2/4
Date création : 11/08/2011
PRODUITS CONCERNÉS
– Debian Linux
– Red Hat Enterprise Linux
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
La bibliothèque libXfont gère les polices de caractères. Elles
peuvent être stockées dans un fichier compressé avec l’algorithme
LZW (Lempel-Ziv-Welch).
L’algorithme LZW utilise une table contenant des fragments de
chaîne. Cette table est progressivement alimentée par les nouveaux
motifs compressés. Les indices de cette table sont stockés dans le
fichier compressé. Pour décompresser le fichier, l’algorithme lit
l’indice (depuis le fichier compressé) et stocke le motif associé
dans le fichier décompressé. Lorsque les données sont de la forme
"KwKwK", où K est un caractère et "w" un motif (word), l’indice du
tableau est la première position vide (en cours de création) du
tableau. Il s’agit d’un cas particulier connu, pour lequel on
autorise donc l’utilisation de cette position vide.
Cependant, libXfont gère incorrectement le cas particulier
"KwKwK", et accepte que l’indice soit plus grand que cette
première position vide. Cela conduit à une corruption de mémoire.
Un attaquant peut donc créer une police de caractères illicite
compressée avec LZW, afin de faire exécuter du code dans les
applications liées à libXfont ouvrant ce fichier compressé.
Un attaquant local peut par exemple ajouter un répertoire de
polices (contenant le fichier illicite) à sa configuration X11,
afin de faire exécuter du code dans le serveur X, avec les
privilèges root.
Cette vulnérabilité a la même origine que VIGILANCE-VUL-10919
(https://vigilance.fr/arbre/1/10919).
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/libXfont-corromption-de-memoire-via-LZW-10918