Google Camera et les applications Samsung Camera ont exposé leurs intentions de caméra et de vidéo à des applications tierces, donnant lieu à une vulnérabilité de contournement d'autorisation.
Comparé à iOS, Android offre aux applications de nombreuses façons d'interagir les unes avec les autres, permettant aux développeurs de créer certaines des fonctionnalités Android les plus courantes que nous attendons et aimons. Ceci est rendu possible grâce au système Intent d'Android, qui permet à n'importe quelle application d'envoyer l'intention de son choix et aux applications réceptrices de gérer ces intentions de manière créative. Mais il s'avère que les applications Google Camera et Samsung Camera ont laissé leurs intentions de caméra et de vidéo exposées à des tiers. applications, ce qui laisse la porte ouverte à une utilisation abusive potentielle en contournant les autorisations critiques, comme l'ont démontré les chercheurs en sécurité de Checkmarx.
Intentions sur Android sont décrits comme "
objets de messagerie qui facilitent la communication entre les composants de l'application", ce qui, en termes plus simples, signifie que Intent permet aux applications de s'envoyer des données entre elles. Par exemple, lorsque vous essayez de partager un fichier depuis un gestionnaire de fichiers vers une application comme WhatsApp, vous envoyez une intention à WhatsApp avec les fichiers comme données. N'importe quelle application peut envoyer n'importe quelle intention qu'elle souhaite, et c'est à l'application réceptrice de décider quelles intentions elle souhaite écouter, en les définissant dans son fichier manifeste. L'application réceptrice décide également comment réagir à ces intentions. De plus, l'application réceptrice peut également garantir que les actions sont effectuées uniquement lorsqu'une intention est envoyée depuis applications spécifiques sur liste blanche (intentions explicites) ou d'applications qui détiennent certaines autorisations (protégées intentions). Il s’avère que les intentions non protégées des applications de caméra susmentionnées peuvent être exploitées par de mauvais acteurs.Checkmarx a découvert que les applications Google Camera et Samsung Camera avaient des intentions non protégées pour déclencher des actions telles que prendre une photo et enregistrer une vidéo. Dans ce contexte, une intention non protégée signifie que l'application réceptrice ne vérifie pas si l'application qui envoie l'intention dispose de l'autorisation requise pour entreprendre elle-même l'action. android.permission. CAMÉRA dans ce cas. L'activité de la caméra, com.google.android. GoogleCamera/com.android.camera. Activité de la caméra, était également une activité exportée, ce qui signifie que d’autres applications pouvaient la solliciter. L'intention non protégée et l'activité exportée conduisent ainsi à une vulnérabilité de contournement d'autorisation.
Une application malveillante pourrait ainsi être construite, qui ne disposerait pas de l'autorisation CAMERA, mais serait néanmoins capable d'exploiter certains fonctions de l'appareil photo en les acheminant via ces applications d'appareil photo et en profitant de leurs intentions non protégées et exportées activité.
En guise de preuve de concept, Checkmarx a créé une application météo factice qui ne disposait pas de l'autorisation CAMERA, mais elle était accompagnée d'une seule autorisation STORAGE, qui ne semblait pas en panne pour une application météo. Sans l'autorisation de l'appareil photo, l'application météo a pu déclencher l'appareil photo Google et l'appareil photo Samsung pour prendre des photos et enregistrer des vidéos. L'autorisation de STOCKAGE entre en jeu pour accéder à cela ainsi qu'à toutes les autres photos et vidéos enregistrées dans /DCIM - elle n'est pas nécessaire pour cliquer sur des photos et enregistrer des vidéos.
Dans le pire des cas, cette vulnérabilité peut être exploitée pour effectuer des opérations telles qu'enregistrer la vidéo de l'utilisateur lors d'un appel, récupérer une localisation. des informations provenant des métadonnées GPS des photos si le marquage de localisation est activé dans l'application appareil photo (et obtient effectivement la position actuelle du téléphone), et plus.
Certes, l'interface utilisateur indique que la caméra est en cours d'accès, mais cela peut également être contourné en faisant utilisation du capteur de proximité pour savoir quand l'écran du téléphone est éteint, et ainsi échapper à l'utilisateur attention. Une application malveillante pourrait également couper le volume du téléphone et réduire efficacement l'appareil au silence lorsqu'il prend une photo ou enregistre une vidéo.
Checkmarx affirme que la vulnérabilité, appelée CVE-2019-2234, existe également dans les applications d'appareil photo d'autres fournisseurs de smartphones. Mais les chercheurs n'ont pas précisé quels fournisseurs et quels appareils étaient concernés, en dehors de Google et de Samsung. Si d'autres applications Appareil photo ont exporté des activités pour démarrer la capture de photos et l'enregistrement vidéo, et ont intentions non protégées qui ne vérifient pas l'autorisation disponible pour l'application appelante, elles sont également affecté.
Puisqu'il ne s'agit pas d'une vulnérabilité au sein de la plate-forme Android ou du noyau Linux, elle ne peut pas être incluse et déployée dans le cadre du Bulletin de sécurité Android. La vulnérabilité a été corrigée dans l'application Google Camera via une mise à jour de l'application en juillet 2019, et la même chose a également été corrigée. a été corrigé dans l'application Samsung Camera, bien qu'il n'y ait aucune information spécifique sur la date à laquelle cette mise à jour a été déployée dehors.
Sur les versions non corrigées de Google Camera, vous pouvez forcer la prise d'une vidéo via cette vulnérabilité en exécutant la commande ADB suivante :
adb shell am start-activity -n
com.google.android.GoogleCamera/com.android.camera.CameraActivity --ez
extra_turn_screen_ontrue-aandroid.media.action.VIDEO_CAMERA--ez
android.intent.extra.USE_FRONT_CAMERAtrue
Si vous utilisez Google Camera ou Samsung Camera, assurez-vous de mettre à jour la dernière version de l'application appareil photo sur votre appareil, déployée via le Play Store ou via un OTA, selon le cas.