Contexte et fonctionnement du presse‑papiers Android
Le presse‑papiers d’Android repose sur la classe ClipboardManager, accessible via le service système. Depuis Android 10, l’accès en lecture nécessite la permission READ_CLIPBOARD et, en pratique, les applications ne peuvent récupérer le contenu que lorsqu’elles sont au premier plan. Cette restriction vise à empêcher la collecte silencieuse de données sensibles telles que mots de passe ou jetons d’authentification copiés par l’utilisateur.
Mesures de sécurité introduites par le système
Google a renforcé le modèle de permission en limitant les appels à getPrimaryClip() aux processus déclarés comme « foreground ». De plus, le système journalise les accès au presse‑papiers et notifie l’utilisateur lorsqu’une application tierce lit le contenu. Ces mécanismes s’appuient sur le framework de gestion des permissions et sur le composant ActivityManager qui contrôle la visibilité des fenêtres.
Technique de contournement évoquée
Le titre de l’article indique qu’une méthode, surnommée « Ctrl‑CVE », permet de lire le presse‑papiers malgré les restrictions. Bien que le texte source ne fournisse aucun détail chiffré, les recherches publiques montrent que les attaquants exploitent souvent les services d’accessibilité (AccessibilityService) pour intercepter les événements de copie. Un service d’accessibilité, une fois activé par l’utilisateur, possède le droit d’observer les changements de texte dans l’interface, y compris les opérations de Ctrl + C. En combinant cet accès avec une injection de code native, il devient possible d’appeler ClipboardManager.getPrimaryClip() depuis un contexte de fond, contournant ainsi la vérification de READ_CLIPBOARD. Le code suivant illustre l’appel standard, qui devient exploitable lorsqu’il est exécuté dans le contexte d’un service d’accessibilité :
ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData data = cm.getPrimaryClip();
String texte = data.getItemAt(0).coerceToText(this).toString();Le contournement repose donc sur deux leviers : l’obtention d’une permission d’accessibilité (souvent accordée à des applications légitimes comme les lecteurs d’écran) et l’utilisation de cette permission pour déclencher des appels système normalement bloqués. Cette chaîne d’exploitation ne nécessite pas de vulnérabilité CVE publique, mais exploite une configuration de sécurité jugée permissive.
Limites de l’information disponible
L’article original n’indique ni la version précise d’Android ciblée, ni le nom d’une application ou d’un CVE associé. En l’absence de ces repères, il est impossible de quantifier l’étendue du problème ni d’évaluer la portée d’éventuelles mises à jour correctives. Le lecteur doit donc considérer que la description fournie reste générique : le contournement exploite les services d’accessibilité pour lire le presse‑papiers, mais aucune donnée chiffrée, aucun scénario de preuve de concept, ni aucune recommandation de mitigation spécifique n’est présentée. Les développeurs sont encouragés à limiter l’activation des services d’accessibilité aux seules applications indispensables et à surveiller les journaux d’accès au presse‑papiers via adb logcat afin de détecter tout comportement anormal.