Vigil@nce - Java JRE : lecture mémoire via Arrays.fill
septembre 2012 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Lorsqu’une application Java utilise un tableau d’entiers, et la
méthode Arrays.fill(), la zone mémoire du tableau n’est pas
initialisée à zéro par le JRE, ce qui peut permettre à un
attaquant d’obtenir un fragment de la mémoire.
Produits concernés : Java
Gravité : 1/4
Date création : 11/09/2012
DESCRIPTION DE LA VULNÉRABILITÉ
En langage Java, un tableau est créé avec :
tab = new int[10] ;
Selon les spécifications, ce tableau doit être rempli de zéros.
Ensuite, ce tableau peut être rempli de 33 avec la méthode :
Arrays.fill(tab, 33) ;
Cependant, comme le compilateur détecte que le tableau va être
rempli de 33, il ne le remplit pas de zéros. Ainsi, entre ces deux
instructions, le tableau contient les valeurs précédemment
stockées à son adresse mémoire. Le tableau contient alors des
données qui peuvent être sensibles, et qui (en fonction du code)
peuvent être retournées à l’attaquant.
Lorsqu’une application Java utilise un tableau d’entiers, et la
méthode Arrays.fill(), la zone mémoire du tableau n’est pas
initialisée à zéro par le JRE, ce qui peut donc permettre à un
attaquant d’obtenir un fragment de la mémoire.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Java-JRE-lecture-memoire-via-Arrays-fill-11929