Ajouter un commentaire

Message d'erreur

  • Le fichier n'a pas pu être créé.
  • Le fichier n'a pas pu être créé.
  • Le fichier n'a pas pu être créé.
  • Le fichier n'a pas pu être créé.
  • Le fichier n'a pas pu être créé.

Noyau Linux : déni de service via execve

Par:
fredericmazue

mer, 03/02/2010 - 15:13

Une vulnérabilité très facile a exploiter a été découverte dans le noyau Linux. L'exploit aboutit à un déni de service de la machine attaquée.

La vulnérabilité est ainsi décrite sur Vigil@ance

"Les appels système (select(), poll(), etc.) et l'espace mémoire sont différents d'un système à l'autre. Par exemple, un programme conçu pour utiliser select() de Solaris peut ne pas fonctionner avec le select() de Linux à cause de différences mineures de comportement.

Les personnalités (ou domaines d'exécution) indiquent comment le noyau doit se comporter :
 - PER_LINUX : mode normal pour Linux
 - PER_SOLARIS : émuler le fonctionnement du noyau Solaris
 - PER_IRIX32 : émuler le fonctionnement du noyau IRIX
 - etc.
La macro SET_PERSONALITY() initialise ces personnalités.

Sur un processeur x86_64, un attaquant peut démarrer une application 32 bits, qui appelle via execve() un programme 64 bits, ce qui échoue. Cependant, la macro SET_PERSONALITY() était tout de même appelée durant le execve(). Le programme a alors obtenu une personnalité 64 bits, alors qu'il est 32 bits, ce qui corrompt son état, et stoppe le noyau.

Sur un processeur x86_64, un attaquant local peut donc employer un programme ELF illicite, afin de stopper le système. "

Source : Vigil@ance

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 Y   Y  DDD   FFFF  EEEE  PPPP  
Y Y D D F E P P
Y D D FFF EEE PPPP
Y D D F E P
Y DDD F EEEE P