Plus de 900 millions de terminaux Android basés sur les chipsets Qualcomm sont potentiellement exposés à l’une des quatre vulnérabilités critiques qui permettent à des apps malveillantes d’en prendre le contrôle. Ces failles ont été présentées il y a deux jours sur la conférence de sécurité DEF CON (du 4 au 7 août à Las Vegas), par le chercheur en sécurité Adam Donenfeld de Check Point Software (cf son billet du 7 août). Elles ont été signalées à Qualcomm entre février et avril et le fabricant de composants a depuis livré les correctifs pour les supprimer après les avoir qualifiées de très sévères.

Malheureusement, cela ne signifie pas pour autant que tous les terminaux sont protégés. En raison de la grande fragmentation de l’écosystème Android, un grand nombre d’entre eux fonctionnent avec d’anciennes versions de l’OS mobile de Google et ils ne reçoivent plus de mises à jour de leur firmware, ou bien ils ne reçoivent les correctifs que plusieurs mois après leur livraison. Même Google, qui fournit tous les mois des patches de sécurité pour ses téléphones et tablettes Nexus ne les a pas toutes corrigées. Les failles en question ont été collectivement désignées sous le nom de QuadRooter parce que si elles sont exploitées, elles procurent aux attaquants des privilèges racines – les plus élevés sur des systèmes basés sur Linux tels qu’Android. Individuellement, elles sont identifiées sous les références CVE-2016-2059, CVE-2016-2503 and CVE-2016-2504 and CVE-2016-5340 et se trouvent dans différents pilotes qui sont fournis par Qualcomm aux fabricants de terminaux mobiles.

Qualcomm a livré les correctifs, Google en a distribué 3 dans ses MAJ

Qualcomm a livré des correctifs pour ces failles aux clients et partenaires entre avril et juillet, a indiqué Alex Gantman, vice-président de l’ingénierie, responsable de la sécurité pour les produits Qualcomm. Tandis que Google n’a jusque-là distribué que trois d’entre eux à travers ses bulletins mensuels de sécurité pour terminaux Nexus. Les mises à jour de Google sont partagées en amont avec les fabricants de téléphones et sont également publiées sur l’AOSP (Android Open Source Project). Les terminaux exploitant Android 6.0 (Marshmallow) avec un correctif du 5 août devraient être protégés contre les failles CVE-2016-2059, CVE-2016-2503 et CVE-2016-2504. Ceux qui utilisent une version d’Android 4.4.4 (KitKat), 5.0.2 ou 5.1.1 (Lollipop) qui inclut les correctifs du 5 août devraient aussi disposer des patches CVE-2016-2503 et CVE-2016-2504, mais ils sont vulnérables à l'exploitation de la faille CVE-2016-2059 que Google a estimé de faible gravité en raison des mesures permettant de l’atténuer. En revanche, la quatrième vulnérabilité, CVE-2016-5340, n’est toujours pas corrigée par Google, mais les fabricants de terminaux devraient en obtenir le correctif auprès du projet open source Code Aurora de Qualcomm(*).

« Cette faille sera rectifiée dans un prochain bulletin de sécurité d’Android, mais les partenaires peuvent prendre des mesures plus rapidement en référençant le patch public fourni par Qualcomm », a indiqué un représentant de Google par e-mail. L’exploitation de l’une de ces quatre vulnérabilités pourrait conduire les utilisateur d’Android à télécharger des applications malveillantes, a-t-il confirmé en ajoutant : « Nos apps Verify et nos protections SafetyNet aident à identifier, bloquer et supprimer les applications qui exploitent ce type de vulnérabilité ». Il est exact que l’exploitation des failles peut uniquement se faire à travers des applications malveillantes et que cela ne se produit pas directement à travers une attaque pilotée à distance à travers une navigation Internet, un email ou un SMS, mais ces apps malveillantes ne requièrent aucun privilège, a rappelé Check Point.

Check Point et Google pas d'accord sur la sévérité de la 4e faille

Les chercheurs de Check Point et Google ne sont pas d’accord sur le degré de sévérité de la faille CVE-2016-2059. Qualcomm la juge hautement sévère, tandis que Google lui attribue une sévérité basse parce qu’elle peut être atténuée à travers l’extension de noyau SELinux. Cette dernière complique l’exploitation de certaines vulnérabilités en renforçant les contrôles d’accès. Le mécanisme a été utilisé pour renforcer les limites de la sandbox applicative avec Android 4.3 (Jelly Bean). Check Point n’est pas d’accord avec l’évaluation de Google sur la capacité de SELinux à minimiser cette faille. Durant son intervention sur DEF CON, le chercheur Adam Donenfeld a montré comment l’exploitation de CVE-2016-2059 pouvait contourner SELinux en forçant le mode permissif, ce qui désactivait effectivement sa protection.

Il est difficile d’identifier quels terminaux sont vulnérables parce que certains fabricants pourraient attendre que Google livre le correctif manquant avant de fournir leurs propres mises à jour de firmware, tandis que d’autres iront le chercher directement auprès de Qualcomm. Pour aider à l’identification des terminaux vulnérables, Check Point propose sur Google Play une application gratuite dénommée QuadRooter Scanner qui permet aux utilisateurs de vérifier si leurs terminaux sont affectés par l’une des quatre failles.

(*) voir également sur CodeAurora les bulletins du 6 juillet et du 29 avril 2016.