Mercredi, Microsoft a fait la lumière sur une vulnérabilité désormais corrigée affectant les systèmes d’exploitation d’Apple dont iOS qui, si elle est exploitée avec succès, pourrait permettre aux attaquants d’élever les privilèges de l’appareil et de déployer des logiciels malveillants.
« Un attaquant pourrait tirer parti de cette vulnérabilité d’évasion de sandbox pour obtenir des privilèges élevés sur l’appareil affecté ou exécuter des commandes malveillantes comme l’installation de charges utiles supplémentaires« , a déclaré Jonathan Bar Or de l’équipe de recherche Microsoft 365 Defender dans un article.
Répertoriée sous le nom de CVE-2022-26706 (score CVSS : 5,5), la vulnérabilité de sécurité a un impact sur iOS, iPadOS, macOS, tvOS et watchOS et a été corrigée par Apple en mai 2022.
Appelant cela un problème d’accès affectant le composant LaunchServices (launchd), le fabricant de l’iPhone a noté qu' »un processus sandboxé peut être en mesure de contourner les restrictions du sandbox« , ajoutant qu’il a atténué le problème avec des restrictions supplémentaires.
Bien que la Sandbox d’Apple soit conçu pour réglementer étroitement l’accès d’une application tierce aux ressources du système et aux données de l’utilisateur, la vulnérabilité permet de contourner ces restrictions et de compromettre la machine.
« La fonction principale du bac à sable est de contenir les dommages causés au système et aux données de l’utilisateur iOS si ce dernier exécute une app compromise« , explique Apple dans sa documentation.
« Bien que le bac à sable n’empêche pas les attaques contre votre application, il réduit les dommages qu’une attaque réussie peut causer en limitant votre application à l’ensemble minimal de privilèges dont elle a besoin pour fonctionner correctement.«
Microsoft a déclaré avoir découvert la faille lors de ses tentatives de trouver un moyen d’échapper au bac à sable d’iOS et d’exécuter des commandes arbitraires sur macOS en dissimulant le code malveillant dans une macro Microsoft Office spécialement conçue.
Plus précisément, la preuve de concept (PoC) de la taille d’un tweet conçue par le géant de la technologie exploite les services de lancement comme moyen d’exécuter une commande ouverte un utilitaire utilisé pour ouvrir des fichiers et lancer des applications sur un payload Python contenant des instructions malveillantes.
Il convient toutefois de noter que tout fichier déposé par une application sandboxée est automatiquement étiqueté avec l’attribut étendu « com.apple.quarantine » afin de déclencher une invite demandant le consentement explicite de l’utilisateur avant l’exécution du processus sur iOS.
Cette contrainte peut toutefois être éliminée en utilisant l’option -stdin pour la commande open associée au fichier d’exploitation Python.
« L’option -stdin permet de contourner la restriction de l’attribut étendu ‘com.apple.quarantine’, car Python n’avait aucun moyen de savoir que le contenu de son entrée standard provenait d’un fichier en quarantaine« , explique Bar Or.