Vigil@nce - CUPS, GIMP : corruption de mémoire via GIF 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 image GIF illicite, afin de faire
exécuter du code lors de sa décompression.
Gravité : 2/4
Date création : 11/08/2011
PRODUITS CONCERNÉS
– Fedora
– GIMP
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
Les images GIF sont compressées 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, CUPS et GIMP gèrent incorrectement le cas particulier
"KwKwK", et acceptent 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 image GIF illicite, afin de faire
exécuter du code lors de sa décompression.
Cette vulnérabilité a la même origine que VIGILANCE-VUL-10918
(https://vigilance.fr/arbre/1/10918)
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/CUPS-GIMP-corruption-de-memoire-via-GIF-LZW-10919