Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Vigil@nce : Noyau Linux, page exécutable sous Sparc

mars 2010 par Vigil@nce

Sur un processeur Sparc, les pages mémoire marquées comme non
exécutables sont en fait exécutables.

 Gravité : 2/4
 Conséquences : accès/droits administrateur, accès/droits
 privilégié, accès/droits utilisateur
 Provenance : shell utilisateur
 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)
 Date création : 24/02/2010

PRODUITS CONCERNÉS

 Linux noyau

DESCRIPTION DE LA VULNÉRABILITÉ

L’assembleur Sparc SUN4U travaille sur des constantes signées sur
13 bits :
or %reg1, constante, %resultat (resultat = reg1 OU constante)
and %reg1, constante, %resultat (resultat = reg1 ET constante)
etc.
L’instruction spéciale "sethi" permet d’affecter les 22 bits de
poids fort d’un registre (MSB), avant une instruction :
sethi %hi(constante), %resultat
or %reg1, %lo(constante), %resultat

Le noyau Linux utilise la constante _PAGE_EXEC_4U (0x1000), qui
correspond au drapeau des pages exécutables. Cependant, il
n’emploie pas sethi lors du test, donc le masque est étendu
(signé) à 0xFFFFF000, ce qui rend le test positif, à cause
d’autres bits présents.

Sur un processeur Sparc, les pages mémoire marquées comme non
exécutables sont donc en fait exécutables. Les protections, comme
la pile non exécutable, ne sont alors plus effectives.

CARACTÉRISTIQUES

 Références : BID-38393, VIGILANCE-VUL-9472
 Url : http://vigilance.fr/vulnerabilite/Noyau-Linux-page-executable-sous-Sparc-9472


Voir les articles précédents

    

Voir les articles suivants