Bulletin de sécurité Apple du 07 septembre 2023.
De multiples vulnérabilités ont été découvertes dans les produits Apple. Elles permettent à un attaquant de provoquer une atteinte à la confidentialité des données et une exécution de code arbitraire. L’éditeur a connaissance de rapports indiquant que les vulnérabilités CVE-2023-41061 et CVE-2023-41064 sont activement exploitées. La vulnérabilité trouvée dans Apple iOS et iPadOS à 16.6 (Smartphone Operating System) est classée critique. Elle affecte une fonction inconnue du composant Image Handler, liée à une manipulation avec une valeur d’entrée inconnue, celle-ci peut entrainer une faille de classe buffer overflow.
CVE-2023-41064 : Un problème de débordement de mémoire tampon a été résolu par une gestion améliorée de la mémoire. Le traitement d’une image conçue de manière malveillante peut conduire à l’exécution de code arbitraire. Apple a connaissance d’un rapport selon lequel ce problème pourrait avoir été activement exploité. Correctif disponible pour : iPhone 8 et versions ultérieures, iPad Pro (tous les modèles), iPad Air 3e génération et versions ultérieures, iPad 5e génération et versions ultérieures et iPad mini 5e génération et versions ultérieures.
Une faille de classe "buffer overflow" (débordement de tampon en français) est une vulnérabilité de sécurité informatique qui survient lorsque des données sont écrites dans une zone de mémoire tampon (ou "buffer") d'un programme informatique, et que ces données dépassent la capacité allouée à ce tampon. Lorsque cela se produit, les données excédentaires peuvent écraser d'autres parties de la mémoire ou du code du programme, ce qui peut entraîner des comportements inattendus et potentiellement des failles de sécurité exploitées par des attaquants. Voici comment cela fonctionne dans le détail :
Allocation de mémoire tampon : Les programmes informatiques utilisent souvent des mémoires tampons pour stocker temporairement des données, telles que les entrées utilisateur, les données de fichiers, etc. La mémoire tampon est généralement allouée avec une taille fixe pour éviter les débordements.
Débordement de tampon : Si un programme ne vérifie pas correctement la taille des données qu'il écrit dans une mémoire tampon, il est possible que des données trop volumineuses soient écrites dans le tampon. Cela peut provoquer un débordement de tampon, où les données excédentaires écrasent la mémoire adjacente.
Corruption de la mémoire : Lorsqu'un tampon déborde, il peut écraser d'autres variables, des données de contrôle, ou même des parties du code du programme. Cela peut entraîner un comportement imprévisible du programme, des plantages, ou, dans le pire des cas, une vulnérabilité de sécurité qui peut être exploitée par un attaquant.
Exploitation : Les attaquants peuvent exploiter les débordements de tampon pour exécuter un code malveillant sur la machine cible. Ils insèrent généralement un code spécialement conçu dans le tampon, qui est ensuite exécuté lorsque le débordement a lieu et remplace des parties du code du programme.
Pour prévenir les failles de classe "buffer overflow", il est essentiel de programmer de manière sécurisée en effectuant des vérifications appropriées sur les tailles des tampons et en utilisant des pratiques de programmation sécurisée. De plus, les langages de programmation modernes offrent des mécanismes de sécurité tels que les tampons sécurisés (buffer overflow protection) pour détecter et prévenir les débordements de tampon lors de l'exécution.