HSC : Elévation locale de privilèges sur Linux 2.6.x
février 2008 par HSC
Date : 11-02-2008
Criticité HSC : 5/5 - extreme
Avis public : Oui
Exploitation : Disponible et publique
Résumé : Trois vulnérabilités différentes affectant l’appel système vmsplice(2) du noyau linux (2.6.17 à 2.6.24 inclus) permettent à un utilisateur local de devenir super-utilisateur. Plusieurs exploitations ont été publiées sur internet depuis le 10 février 2008.
Source : LinuxKernel
Objet : Linux 2.6.x
Description :
La version 2.6.17 du noyau linux a introduit un appel système,
vmsplice(), dont les fonctions ont été étendues avec la version 2.6.22.
Le code original de vmsplice() contenait déjà une vulnérabilité, et
d’autres sont apparues avec la version 2.6.22.
Les vulnérabilités ont été corrigées successivement le 8 février 2008,
puis le 10 février 2008. L’information a été communiquée aux
distributions linux d’abord le 8 février (correctif qui s’est avéré
incomplet) puis le 10 février (correctif complet).
Des exploitations en libre circulation existent depuis le 9 ou le 10
février 2008.
Un attaquant disposant d’un shell local et d’un compilateur peut
exécuter l’un des deux codes d’exploitation disponibles, permettant la
compromission du compte root (super-utilisateur) à coup sûr.
Les noyaux renforcés (par exemple avec PaX) sont plus robustes face à
ces exploitations, mais la vulnérabilité existe tout de même (corruption
de mémoire possible).
CVE-2008-0009 affecte les 2.6.22 et plus, et concerne la fonction
vmsplice_to_user.
CVE-2008-0010 affecte les 2.6.22 et plus, et concerne la fonction
"copy_from_user_mmap_sem". Elle est aussi parfois appelée "vulnérabilité
locale mmap()" Elle permet l’exploitation numéro 5093 sur milw0rm.
Ces deux vulnérabilités ont été corrigées le 8 février dans le noyau
2.6.24.1 :
http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.24.1
Le correctif seul est disponible ici :
http://www.gossamer-threads.com/lists/linux/kernel/876486?page=last
Enfin, CVE-2008-0600 a été annoncée le 10 février 2008, elle concerne la
vulnérabilité nommée vmsplice_to_pipe et est exploitée par le code
numéro 5092 de milw0rm. Elle a été corrigée le 10 février dans la
version 2.6.24.2 du noyau :
http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.24.2
Le noyau 2.6.24.2 corrige donc l’ensemble des vulnérabilités découvertes
à ce jour.
Référence (avis original) :
http://isec.pl/vulnerabilities/isec-0026-vmsplice_to_kernel.txt
Référence (vulnérabilité résiduelle le 10 février) :