Grave faille dans le noyau Linux : tous les systèmes à partir de Linux 3.8 sont potentiellement vulnérables, y compris Android

Par:
fredericmazue

mer, 20/01/2016 - 14:10

Cette faille a été découverte par la société Perception Point. Elle est présente depuis 2012 dans le noyau. Les versions 3.8 et supérieures sont concernées. Il n'y a pas de correctif pour le moment, mais cela ne devrait pas tarder, les responsables des distributions y travaillant. Le nombre de machines vulnérables est astronomique, du côté des serveurs et postes de travail Linux, ainsi que des smartphones Android qui sont basés sur Linux.

Paradoxalement, cette faille se niche dans un mécanisme de sécurité du noyau, le mécanisme qui stocke les clés d'authentification des pilotes.

Le problème se situe dans la fonction système keyctl, dont un bug provoque des fuites de références. Outre des fuites mémoires, l'exploit de ce bug par une attaque de type use-after-free, peut conduire le noyau a réutiliser de la mémoire précédemment libérée. Alors un objet noyau de l'espace utilisateur peut se retrouver placé dans de la mémoire de l'espace noyau, donc avec tous les droits. A partir de là l'attaquant peut prendre un contrôle total de la machine.

Selon Perception Point, il n'existe pour l'instant pas d'attaque connue. Mais une attaque est néanmoins possible. Perception Point donne une preuve de concept dans un billet de blog.

Cette faille est difficile à exploiter. D'autant plus si la distribution aléatoire de l'adressage mémoire est activée dans le noyau. De plus un attaquant doit avoir physiquement accès à la machine attaquée. Un administrateur de serveur Linux hébergeant des sites Web ne doit pas se croire à l'abri pour autant. Si une autre vulnérabilité présente sur un des sites permet d'uploader un fichier, le serveur devient attaquable par ce biais.

Pour se prémunir d'une catastrophe, les administrateurs devront redémarrer leur système sur un noyau patché dès que cela leur sera possible. En attendant, une mise à jour de tous les autres applicatifs s'impose.

En ce qui concerne les utilisateurs de smartphones Android les choses sont beaucoup plus difficiles en raison de la fragmentation de l'écosystème et des politiques de support des fabricants. Par contre, et fort heureusement, la présence de SELinux  partir d'Android 4.3 rend l'exploit de cette faille très difficile. Malheureusement, un tiers des smartphones Android tournent avec une version antérieure.

Commentaires

Le titre me sembe un peu racoleur. Si la faille est réelle et d'ailleurs déjà corrigée sur la quasi totalité des distrib concernées, elle n'en reste pas moins quasiment innexploitable.

Bien sûr chacun a le droit de gérer ses serveurs ainsi qu'il l'entend :-) Pour ma part, dire d'une faille qu'elle est inexploitable, c'est jouer à la roulette russe et sous-estimer les grandes capacités des hackers à concevoir des attaques qui fonctionnent. Dans l'art de la guerre Sun Tzu écrit : Le fait d’être invincible dépend de soi, la possibilité de vaincre dépend de l’ennemi.  Il ne faut pas sous-estimer l’ennemi, se croire fort et lui faible. Je dirais même plus: dire d'une faille qu'elle est inexploitable c'est jouer à la roulette russe avec 6 balles dans le barillet :-) Alors quasiment inexploitable vous pensez... :-D Une vulnérabilité qui permet d'entrer dans l'espace noyau c'est très grave par définition et c'est pour cela que j'ai titré ainsi l'article. Il ne s'agissait en l'occurrence pas de racoler mais d'informer sur la nature de cette vulnérabilité et d'inviter tous les administrateurs système à patcher ASAP leurs machines. Il est toujours plus sage d'appliquer les patches que d'estimer que ça ne risque pas grand-chose :-) Je gage que les administrateurs dont les bécanes assurent des services critiques, et sur lesquelles un hack aurait des répercussions catastrophiques, me comprendront mieux :-)