Dianne Christie - Fotolia

Linux : une grave vulnérabilité présente depuis 2012

Le noyau Linux embarque depuis 4 ans une vulnérabilité jusqu’ici passée inaperçue et permettant à un attaquant de gagner des privilèges élevés sur un système affecté.

Les équipes de Perception Point viennent de révéler une grave vulnérabilité présente au sein du noyau Linux depuis 2012. Celle-ci concernerait quelques dix millions de PC et serveurs, mais également 66 % des terminaux Android. Elle permet à un attaquant de gagner des privilèges élevés, de niveau root, sur une machine compromise.

Dans un billet de blog, les équipes de Perception Point expliquent que cette vulnérabilité touche au mécanisme dit de keyring qui permettent aux pilotes de stocker des données de sécurité dans le noyau, telles que clés de chiffrement et d’identification. Des appels sont prévus pour permettre l’accès à ces informations depuis l’environnement confiné à droits limités user-space.

Mais voilà, le mécanisme de keyring – ou trousseau en français – comporte un bug : « une fuite survient lorsqu’un processus tente de remplacer le trousseau de sa session actuelle par le même ». Cette opération génère une erreur qui, loin d’être anodine, laisse filtrer la référence du trousseau en question.

Celle-ci peut alors être utilisée pour provoquer un dépassement du champ utilisé pour tenir un compte d’utilisation d’un objet du trousseau et en obtenir la libération par le noyau. De quoi injecter un code arbitraire dans l’espace mémoire correspondant puis utiliser la référence à l’ancien objet du trousseau pour provoquer l’exécution de ce code.

Cette vulnérabilité affecte le noyau Linux à partir de sa version 3.8. Les experts de Perception Point expliquent que son exploitation peut être contrariée par SELinux ainsi que par les fonctionnalités de prévention de l’exécution et de l’accès à la mémoire en mode super-utilisateur, SMEP et SMAP, des processeurs Intel. Mais ils font également référence à « des astuces permettant de contourner » des protections.

Un exemple de code exploitant cette vulnérabilité est disponible, de même que des correctifs. 

Pour approfondir sur Gestion des vulnérabilités et des correctifs (patchs)

Close