Apple corrige un bogue qui provoque un déni de service des applications de messagerie sous iOS
Lorsqu'on saisit le mot « Taiwan »

Le , par Patrick Ruiz, Chroniqueur Actualités
iOS 11.4.1 est disponible depuis peu. La nouvelle mouture du système d’exploitation pour les dispositifs mobiles conçus par Apple est principalement connue pour sa prise en charge d’un mode USB restreint qui empêche les forces de l’ordre de procéder au déverrouillage des iPhone. Dans un billet de blog paru il y a peu, le chercheur en sécurité Patrick Wardle met un autre correctif en lumière. Certains utilisateurs ont rapporté que le fait de saisir le mot « Taiwan » ou de recevoir un message contenant un drapeau taïwanais provoque un déni de service de l’appareil. Apple a passé l’éponge sur cette tâche.

La manœuvre est reproductible avec un iPhone 7 ou 9 équipé d’iOS 11.3 en faisant usage d’applications de messagerie comme iMessage, Facebook Messenger, WhatsApp, etc. En d’autres termes, il est possible d’activer le bogue à distance sur un dispositif non débridé.


C’est une utilisatrice chinoise qui a remonté la situation à Patrick Wardle – un chercheur en sécurité auteur de plusieurs publications sur les failles dans iOS. Après analyse du code de la version d’iOS mentionnée, Wardle a publié des portions qui illustrent plus ou moins quel est le fond du problème. Le fait est qu’iOS (11.3) intègre une fonction de comparaison de chaînes de caractères – CFStringCompare() – qu’Apple a dédiée à la gestion de la zone géographique telle que configurée par le possesseur de l’appareil. Sous certaines conditions (la lumière totale reste à faire jaillir à ce sujet), la fonction est invoquée avec un pointeur NULL, ce qui mène à un plantage. Le constructeur de la marque à la pomme lui-même fait une précision à ce sujet en écrivant que « sous certaines conditions, si les paramètres de régionalisation sont mal configurés, le pointeur NULL peut être renvoyé. »

Code : Sélectionner tout
1
2
3
4
//call CFStringCompare()
// first parameter is NULL, and thus crashes
// second parameter is @"CN"
r0 = loc_182922ec4(r19, 0x1add1ad38, 0x0);
Wardle propose un remède qui ne nécessite pas d’effectuer une mise à jour vers iOS 11.4.1 : faire passer la zone géographique de Chine vers USA puis revenir sur USA. « Je ne sais pas l’expliquer à 100 %, mais je suppose que la manœuvre permet que CFStringCompare soit appelé avec des paramètres valides », écrit-il. Autre solution proposée par le chercheur : procéder à l’introduction de tests au sein du code conformément au modèle publié.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CFLocaleRef locale = CFLocaleCopyCurrent();
CFStringRef countryCode = CFLocaleGetValue (locale, kCFLocaleCountryCode);
 
//fix!
// make sure to check this!!
if(NULL!= countryCode)
{
 CFStringCompare(countryCode, @"CN", 0x0);
}

//otherwise handle case where `countryCode` is NULL
else
{
 ....
}
Il faut noter qu’Apple n’a pas fait dans le détail quant au stratagème utilisé pour monter le correctif de la faille référencée CVE-2018-4290.

À côté du flou qui entoure la technique autour du bogue, il y a quand même une certitude : il s’agit de code qu’Apple a mis en place pour satisfaire à des desiderata particuliers du gouvernement de l’empire du Milieu. En Chine, les applications de messagerie n’affichent pas le drapeau taïwanais inséré dans des messages. Lorsque il y a un bogue ce sont les consommateurs qui souffrent.




Source : billet Wardle

Et vous ?

Que pensez-vous du bogue ? Et de la requête du gouvernement chinois ?

Voir aussi :

Mac : des téléchargements non sécurisés permettent des exploits « dylib » qui déjouent la surveillance de Gatekeeper d'Apple

Le RAT Coldroot, qui cible macOS, est resté indétectable par les solutions AV alors que son code a été publié sur GitHub depuis deux ans déjà

Apple : la sortie officielle de macOS High Sierra est prévue pour le 25 septembre après le lancement des nouveaux iPhone de la marque

Un exploit zero-day dans la dernière version de macOS permet à un attaquant de subtiliser les mots de passe sauvegardés sur Keychain

Apple publie une mise à jour pour corriger une faille sur macOS High Sierra qui permet à un attaquant de voler des mots de passe sur Keychain


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de 10_GOTO_10 10_GOTO_10 - Membre expérimenté https://www.developpez.com
le 11/07/2018 à 22:17
Je ne sais pas si vous connaissez le Underhanded C Contest . Le concours en lui-même n'existe hélas plus, mais le principe était le suivant : Le but était de développer un programme assez simple : Détection de mots interdits dans une messagerie de 140 caractères, ou bien brouillage d'une image censurée, par exemple.

Mais, il y a un mais... L'objet du concours était d'introduire dans le programme une fonction cachée qui faisait tout autre chose que ce qui est dans le cahier des charges : informer l'utilisateur que son message avait été détecté, faire en sorte que l'image brouillée puisse être reconstituée, etc... Et il fallait surtout que cette fonction cachée ressemble à un bug, c'est à dire que même si on la découvrait, on ne puisse pas blâmer le programmeur, puisque rien ne le distinguait d'un bug malencontreux.

Si ÇA ça ne ressemble pas à une application concrète de ce principe, je n'y connais plus rien en programmation. Une fonction de comparaison de chaîne (quoi de plus simple à programmer) qui "malencontreusement" se retrouve à NULL sous "certaines conditions", ces conditions étant précisément lorsqu'on tape le mot "Taïwan" (on connait les relations entre la Chine et Taïwan), permettez-moi de vous dire, on se fout un peu de notre gueule.
Avatar de Aiekick Aiekick - Membre chevronné https://www.developpez.com
le 11/07/2018 à 23:12
lol ca me rappelle quand on cree un dossier com qui contenait un dossier com sous win 98

 
Contacter le responsable de la rubrique Accueil