Le 7 octobre 2015, un mail [1] a été envoyé à l'équipe sécurité d'Ubuntu pour rapporter une vulnérabilité dans le logiciel Apport [2] permettant à un attaquant d'élever ses privilèges. Apport est un logiciel en Python développé par Canonical pour afficher des informations à l'utilisateur lors du crash d'un programme, et avec son accord remonter ces informations aux développeurs d'Ubuntu.
1. Analyse de la vulnérabilité
1.1 Interception des crashes
Le paramètre noyau kernel.core_pattern détermine l'action à réaliser lors du crash d'un programme. Par défaut, la valeur est core, provoquant l'écriture d'un fichier coredump sur le disque.
Apport modifie la valeur de ce paramètre sur les distributions Ubuntu Desktop :
$ sysctl -n kernel.core_pattern
|/usr/share/apport/apport %p %s %c %P
Lorsque la valeur de kernel.core_pattern commence par le symbole pipe (|), le reste de la ligne est interprétée comme un programme à exécuter. Au lieu d'écrire un fichier sur le disque, le coredump est donné sur l'entrée standard du programme. Le programme est exécuté avec l'utilisateur root et le groupe root, et les différents arguments commençant par le signe pourcent (%) sont remplacés ainsi :
-%p : PID du processus dumpé ;
-%s : numéro du signal provoquant le coredump ;
-%c : rlimit soft de la taille du coredump,
-%P : PID du...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première