Une vulnérabilité permettant des élévations de privilèges sur Linux est restée sous les radars pendant 9 ans
Une vulnérabilité permettant des élévations de privilèges sur Linux est restée sous les radars pendant 9 ans,
« la plus grande jamais répertoriée sur Linux », selon un chercheur
Une situation de compétition a été trouvée dans la façon dont la mémoire du noyau du sous-système Linux géré la rupture de la copie sur écriture (COW) de mappings de mémoire en lecture seule. Pour rappel, une situation de compétition fait référence à un dysfonctionnement dû à un bogue, qui fait que dans un même logiciel deux automatismes qui travaillent simultanément donnent des résultats différents suivant l'automatisme qui termine avant l'autre.
Répertoriée comme étant CVE-2016-5195, cette faille critique est passée inaperçue pendant neuf ans et permet d’obtenir une élévation de privilèges. Des experts en sécurité, qui ont découvert un code d’attaque indiquant que la vulnérabilité a été largement exploitée, recommandent aux utilisateurs d’installer le correctif aussi vite que possible.
Dan Rosenberg, un chercheur senior pour le compte d’Azimuth Security, a estimé « qu’il s’agit la probablement de la plus grande élévation de privilèges jamais répertoriée sur Linux ». « La nature de la vulnérabilité se prête à une exploitation extrêmement fiable. Cette vulnérabilité est présente depuis neuf ans, ce qui est une très longue période de temps ».
La faille a été colmatée cette semaine par les responsables du noyau Linux. Les distributeurs downstream préparent une mise à jour qui embarque ce correctif. À ce propos, Linus Torvald a déclaré hier : « il s’agit là d’un ancien bogue que j’ai moi-même tenté une fois (mal) de corriger il y a 11 ans dans le commit 4ceb5db9757a ("Fix get_user_pages() race for write access") mais ça n’a pas été fait à cause du problème s390 soulevé par le commit f33ea7f404e5 ("fix get_user_pages bug"). Entre temps, le problème s390 a été corrigé depuis un moment déjà et nous pouvons corriger ce problème en vérifiant convenablement l’octet pte_dirty() (et le faire mieux) ».
Les vulnérabilités qui permettent une élévation des privilèges sont dangereuses parce qu’elles peuvent servir par exemple contre les hébergeurs web et permettre au pirate d’attaquer ses clients, voire même leurs propres services. Combinés avec d’autres attaques, ces exploits peuvent permettre de faire encore plus de dégât.
La découverte des attaques exploitant ces vulnérabilités est le fait de Phil Oester, un développeur Linux. Il explique que « n’importe quel utilisateur peut passer accéder à la racine en moins de 5 secondes d’après mes tests. La vulnérabilité est plus facile à exploiter avec un accès local à un système tel que les comptes shell. Même si cela fonctionne, elle est moins évidente à exploiter lorsqu’il faut passer par une vulnérabilité serveur web / application qui permet à l'attaquant de faire un upload de fichier sur le système touché et l’exécuter » .
Oester a trouvé un exploit en analysant le trafic de ses serveurs web : « l'exploit en particulier qui a été téléchargé sur mon système a été compilé avec GCC 4.8.5 released 20150623, bien que cela ne devrait pas impliquer que la vulnérabilité n’était pas disponible avant cette date compte tenu de sa longévité. Quant à savoir qui est ciblé, toute personne exécutant Linux sur un serveur Web est vulnérable ».
Source : Linus Torvalds, RedHat, Canonical, Phil Oester
Il est possible de rooter des téléphones Android en se basant sur la faille Dirty Cow
Il est possible de rooter des téléphones Android en se basant sur la faille Dirty Cow,
qui a affecté Linux pendant 9 ans
Une nouvelle méthode pour rooter des appareils Android est susceptible de fonctionner de façon fiable sur toutes les versions du système d'exploitation mobile ainsi qu’un large éventail de matériel. Les particuliers peuvent l'utiliser pour contourner les limitations imposées par les constructeurs ou les opérateurs. La technique s’appuie sur la faille d’élévation de privilège sur Linux découverte il y a quelques jours et qui a été sous les radars pendant 9 ans. Baptisée Dirty Cow, qui tire son nom de l'abréviation des fonctionnalités Copy-On-Write du noyau, la faille CVE-2016-5195 a déjà été colmatée sur Linux (le 18 octobre 2016) ainsi que sur certaines distributions comme Red Hat, Ubuntu, Debian et SUSE.
Une liste de PoC est disponible sur GitHub et il suffit de rajouter quelques lignes de code pour rooter les dispositifs Android de façon persistante. C’est en tout cas ce qu’a expliqué le chercheur en sécurité David Manouchehri qui a testé son code sur cinq dispositifs. Parlant de l’exploit, il explique qu’il est accessible à « quelqu’un qui est quelque peu familier au système de fichiers Android ». « De ce que je peux dire, en théorie, cela devrait suffir à rooter tous les dispositifs depuis Android 1.0. Android 1.0 a débuté sur la version 2.6.25 du noyau Linux, et cet exploit existe depuis la version 2.6.22 ».
Un autre chercheur a expliqué que ses collègues et lui ont pu développer un exploit séparer pour rooter les dispositifs Android, encore une fois en se basant sur le PoC disponible sur GitHub. Ils ont été en mesure d’ajouter des fonctionnalités au système d’exploitation mobile. « Nous avons préféré utiliser un chemin unique que nous pourrons également utiliser ailleurs à l’avenir ». La vidéo ci-dessous montre le chercheur utiliser son application pour rooter un HTC tournant sur Android qui est relié à un ordinateur par un câble USB.
Les deux exploits permettent aux utilisateurs finaux de rooter des téléphones Android pour avoir accès à des fonctionnalités qui sont parfois limitées par les constructeurs ou les opérateurs téléphoniques comme le tethering (une technique qui permet de partager la connexion Internet d'un appareil mobile avec d'autres périphériques comme les ordinateurs portables : le téléphone est alors utilisé comme un modem). Le revers de la médaille est que le rootage est parfois fait subrepticement de telle sorte que les applications malveillantes peuvent espionner les utilisateurs en contournant le sandboxing des applications et d'autres mesures de sécurité intégrées à Android.
Source : GitHub (liste des PoC sur Dirty Cow)