Les captures d’écran modifiées dans l’outil de balisage de Pixels pourraient ne pas être modifiées avec l’exploit aCropalypse

Les propriétaires de pixels ont souffert de l’édition de leurs captures d’écran en utilisant l’outil de balisage par défaut. Les entrées de peinture ne sont pas excellentes pour rédiger quoi que ce soit, même si vous frottez un endroit très fort, et l’outil de recadrage manque hilarante de rapports d’aspect prédéfinis. Mais il y a une autre raison pour laquelle vous ne devriez pas utiliser le balisage et c’est la raison pour laquelle vous voudrez peut-être jeter un œil à où et à qui vous avez envoyé vos images.

VIDÉO ANDROIDPOLICE DU JOUR

Les chercheurs Simon Aarons et David Buchanan ont rendu public un exploit qu’ils surnomment « aCropalypse » qui, en substance, permet à quiconque de prendre une capture d’écran PNG recadrée dans l’outil de balisage par défaut d’Android et d’annuler au moins certaines des modifications pour produire des parties de l’image qui n’étaient pas destinés à être visionnés. Bien que l’exploit ait été signalé à Google et corrigé dans le Mise à jour de sécurité de mars pour Pixels (voir CVE-2023-21036), les images expurgées envoyées sur certaines plateformes – y compris, mais sans s’y limiter, Discord avant la mi-janvier – au cours des dernières années pourraient risquer d’être exposées.

Vous pouvez voir l’exploit en action avec vos propres images en utilisant cet outil de démonstration fournies par les chercheurs d’aCropalypse. Nous avons également reçu de plus amples informations sur la découverte et la correction de cet exploit par les chercheurs avant sa publication à cette page Web.


Qu’est-ce qui ne va pas, la version humaine

Les aspects techniques de l’exploit semblent provenir d’un changement d’API dans Android 10 (voir ce fil IssueTracker à partir de 2021 et une explication générale de Redditor AvoineDôme). Avant le changement, une application chargée d’écrire de nouvelles données dans un fichier existant tronquerait ledit fichier par défaut si la quantité de ces nouvelles données était inférieure à celle contenue dans le fichier d’origine. Avec le changement, ce comportement de troncature n’était plus par défaut.

Ainsi, si la quantité de nouvelles données était inférieure à celle contenue dans le fichier existant, étant donné que l’écriture des données se produit de manière séquentielle, l’arrière-plan du fichier existant resterait intact, dans le cadre du nouveau fichier. Ce changement présentait des résultats négatifs : si les anciennes données n’étaient pas nécessaires pour le nouveau fichier, elles occuperaient au moins un espace de stockage précieux ; si les données étaient de nature sensible, ceux qui disposaient des bons outils pourraient les lire et les extraire par eux-mêmes à des fins malveillantes.

Bien que le problème ait finalement été jugé « résolu » – pour autant que nous sachions, les conseils ont changé sur le mode d’écriture que les applications devraient utiliser – l’outil de balisage utilisait toujours ce mode d’écriture non tronqué.

Aarons a consulté Buchanan sur cette vulnérabilité concernant les captures d’écran PNG (et non JPEG) le 2 janvier et Buchanan a pu rapidement développer une preuve de concept pour l’exploit actuel. Les deux ont informé Google du bug le même jour. La société a reconnu le bogue le 3 janvier. Un correctif a été finalisé en interne le 24 janvier, mais il n’a commencé à être diffusé sur les appareils Pixel que le 13 mars avec le correctif de sécurité du mois.

L’ingénieur a posté sur son blog personnel sur les événements réels, mais d’un point de vue de haut niveau, voici ce qui se passe : PNG en tant que format de fichier comprime les données via certains processus sur une série de blocs. Tout bloc donné de données compressées peut contiennent des références au bloc de données précédent, ouvrant théoriquement la voie à la décompression des blocs de données précédents un par un. Ainsi, Buchanan a pu développer une méthode de décompression qui combine cet aspect rétrospectif avec un travail de détective cryptographique axé sur les données de fichiers intactes et reportées pour obtenir un contexte sur ce qui devrait être révélé.

Impact

Comme vous le savez maintenant, le résultat est qu’une image modifiée dans l’outil de balisage peut avoir des parties de l’image originale non modifiée après coup avec un certain savoir-faire. En plus des Pixels, certains appareils Android non-Pixel et ROM personnalisées utilisent également le balisage.

Alors que la plupart des plates-formes en ligne effectueront leur propre traitement (comme une compression supplémentaire ou la suppression des métadonnées) sur les images téléchargées par les utilisateurs, Discord n’avait pas traité les téléchargements d’images de manière adéquate pour empêcher cet exploit de fonctionner. Les chercheurs d’aCropalypse affirment que l’application de chat instantané a commencé à supprimer les données de fin des fichiers le 17 janvier. Mais cela signifie des images modifiées par le balisage datant d’aussi loin que fin 2019 pourrait être décompressé pour révéler des informations non destinées au public.

Bien que Discord dispose d’outils de recherche riches pour aider les utilisateurs à trouver des fichiers image qu’ils ont pu partager, vous pouvez avoir beaucoup de contenu non-capture d’écran à parcourir et toutes les captures d’écran que vous avez envoyées ne sont pas exploitables – nous avons testé une capture d’écran sur un Pixel 6a contre l’outil de démonstration et n’a pas pu obtenir de résultat, mais nous avons noté d’autres utilisateurs qui ont signalé des résultats exploitables en ligne.

Buchanan a déclaré dans son article de blog qu’il avait écrit un script pour gratter ses téléchargements Discord pour toutes les images vulnérables et en avait trouvé « beaucoup ». Alors que la plupart étaient généralement inoffensifs, il avait une capture d’écran d’une commande eBay et a pu en extraire son adresse postale complète.