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, utilisation d’appels systèmes interdits sous x86_64

mars 2009 par Vigil@nce

SYNTHÈSE DE LA VULNÉRABILITÉ

Sur une machine Intel x86_64, un attaquant local peut contourner
les mécanismes de restriction des appels système.

Gravité : 1/4

Conséquences : transit de données, camouflage

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)

Nombre de vulnérabilités dans ce bulletin : 2

Date création : 02/03/2009

PRODUITS CONCERNÉS

 Linux noyau

DESCRIPTION DE LA VULNÉRABILITÉ

Les numéros des appels système sont différents en 32 bits (x86) et
en 64 bits (x86_64) :
 en 32 bits : 1=exit, 2=fork, 3=read, 4=write, 5=open, 6=close,
etc.
 en 64 bits : 0=read, 1=write, 2=open, 3=close, etc.
Par exemple, open() peut être appelé via 32b:5 ou 64b:2.

Un processus 32 bits peut faire un appel 64 bits avec les
instructions processeur ljmp et syscall. Un processus 64 bits peut
faire un appel 32 bits avec l’interruption 0x80. Cependant, dans
ces deux cas, deux mécanismes de restriction des appels système ne
détectent pas que l’appel système est fait sur taille (32/64)
différente de la taille initiale du processus. Par exemple, si
l’appel système open() est bloqué, un processus 64 bits (le numéro
2 est bloqué) peut passer en 32 bits et employer le numéro 5
accéder à open().

Le mécanisme "seccomp", activé avec la directive de compilation
"CONFIG_SECCOMP=y", utilise la fonction secure_computing(), qui
est affectée par cette vulnérabilité. [grav:1/4 ; CESA-2009-004]

Le mécanisme "syscall-audit", utilise la fonction
audit_syscall_entry(), qui est affectée par cette vulnérabilité.
[grav:1/4]

Un attaquant local peut donc utiliser des appels système 32/64
bits sur une machine 64 bits afin de contourner ces mécanismes.

CARACTÉRISTIQUES

Références : CESA-2009-004, VIGILANCE-VUL-8500

http://vigilance.fr/vulnerabilite/Noyau-Linux-utilisation-d-appels-systemes-interdits-sous-x86-64-8500


Voir les articles précédents

    

Voir les articles suivants