Microsoft a publi vendredi dernier des dtails techniques sur une vulnrabilit critique de ChromeOS qui pourrait tre exploite pour des attaques par dni de service (DoS) et – dans des cas limits – pour l’excution de code distance. Identifie sous le nom de CVE-2022-2587 (avec un score CVSS de 9,8) et dcrite comme une criture hors limites, la vulnrabilit a t corrige par la publication d’un correctif en juin. Le problme a t identifi dans le composant CRAS (ChromiumOS Audio Server), et pourrait tre dclench en manipulant les mtadonnes associes aux fichiers audios.
ChromeOS est le systme d’exploitation propritaire de Google. Il est bas sur le systme d’exploitation open source ChromiumOS, lui-mme bas sur Linux. ChromeOS est considr comme sr par rapport aux anciens systmes Windows et macOS. Mais mme les systmes d’exploitation les plus robustes peuvent contenir des bogues de scurit, comme en tmoigne la rcente dcouverte de Microsoft. Dans un billet de blogue dtaill sur la vulnrabilit, Microsoft a dclar que le bogue a t repr par Jonathan Bar Or, un des chercheurs en scurit de son quipe Microsoft 365 Defender Research, fin avril et a t immdiatement signal Google.
Le problme dcoule de l’utilisation de D-Bus, un mcanisme de communication interprocessus (IPC) utilis dans Linux. Un service D-Bus appel org.chromium.cras permet d’acheminer l’audio vers des priphriques rcemment ajouts, tels que des haut-parleurs USB et des casques Bluetooth. Ce service comprend une fonction appele SetPlayerIdentity, qui accepte en entre une chane de caractres appele identity. Et le code C de la fonction fait appel strcpy() dans la bibliothque standard. Pour rappel, la fonction strcpy() permet de copier le contenu d’une chane de caractres dans une autre.
La fonction vulnrable avec l’invocation de strcpy dans celle-ci
Cependant, beaucoup considrent que l’utilisation de la fonction strcpy() est dangereuse. Par exemple, l’utilisation de cette fonction pour copier un grand tableau de caractre dans un plus petit serait dangereuse, mais si la chane de caractre tient, le risque n’en vaut pas la peine. Si la chane de destination n’est pas assez grande pour stocker la chane source, alors le comportement de la fonction strcpy() est non spcifi ou indfini. Pour l’ingnieur en scurit expriment, la mention de la fonction strcpy() dclenche immdiatement des signaux d’alarme , explique Jonathan dans le billet de blogue.
La fonction strcpy() est connue pour provoquer diverses vulnrabilits de corruption de mmoire puisqu’elle n’effectue aucun contrle des limites et est donc considre comme non sre. Comme il n’y a pas de contrle de limites sur l’argument identity fourni par l’utilisateur avant d’invoquer strcpy() (outre les limites de longueur de message par dfaut pour les messages D-Bus), nous tions srs de pouvoir dclencher un dpassement de tampon bas sur le tas, dclenchant ainsi une vulnrabilit de corruption de mmoire , a-t-il ajout. Selon lui, la faille pourrait tre facilement exploite par un acteur malveillant.
Depuis la ligne de commande, un dpassement de tampon bas sur le tas peut tre ralis simplement en passant une chane de 200 caractres l’utilitaire dbus-send. Et avec un peu plus d’efforts, il a t dtermin que les mtadonnes des chansons, transmises au composant de traitement audio de CRAS via la mthode MediaSessionMetadataChanged, pouvaient dclencher le bogue distance via un navigateur ou Bluetooth. Cependant, Microsoft note que la transformation de ce bogue en un exploit d’excution de code distance ncessiterait un toilettage du tas et un enchanement avec d’autres vulnrabilits.
L’impact du dpassement de tampon bas sur le tas va du simple DoS au RCE complet. Bien qu’il soit possible d’allouer et de librer des morceaux par le biais de la manipulation des mtadonnes des mdias, l’excution d’un nettoyage prcis du tas n’est pas triviale dans ce cas et les attaquants devraient enchaner l’exploit avec d’autres vulnrabilits pour russir excuter un code arbitraire , explique le billet de blogue. Toutefois, la vulnrabilit semble tre suffisamment dangereuse pour justifier la raction rapide de Google. Jonathan a dclar que son quipe a t surprise par la rapidit avec laquelle Google a corrig le bogue.
Arbre d’appel montrant comment les changements de mtadonnes du navigateur ou du mdia Bluetooth dclenchent finalement la fonction vulnrable
Nous avons t impressionns par la rapidit de la correction et l’efficacit de l’ensemble du processus. En moins d’une semaine, le code a t corrig et, aprs plusieurs fusions, mis la disposition gnrale des utilisateurs. Nous remercions l’quipe de Google et la communaut Chromium pour leurs efforts dans la rsolution de ce problme , a-t-il dclar. Jonathan a reu des remerciements du programme de rcompense des vulnrabilits de Google, qui lui a attribu en juin 25 000 dollars pour la divulgation responsable du bogue. Microsoft n’a pas trouv des indicateurs montrant que le bogue a t exploit dans des attaques.
Par ailleurs, le rapport de Microsoft est remarquable la fois pour la gravit (9,8 sur 10) de la vulnrabilit et pour l’inversion du scnario. C’est gnralement Google, en particulier son groupe Project Zero, qui attire l’attention sur les bogues des logiciels Microsoft, en particulier les bogues du systme d’exploitation Windows. Selon les analystes, ds 2010, les chercheurs en scurit de Google ont pris l’habitude de divulguer les bogues des logiciels de Microsoft et d’autres fournisseurs au bout de 90 jours, mme si un correctif n’a pas t publi, afin d’obliger les entreprises ragir plus rapidement aux failles de scurit.
Microsoft aurait rprimand Google ce sujet plusieurs reprises au fil des ans, mme si, ds 2011, la firme de Redmond s’est montre dispose s’adapter en rvisant sa politique de divulgation des vulnrabilits lies la scurit. Cette faille critique de ChromeOS n’est pas une vulnrabilit zero-day puisque Google a effectu les rparations ncessaires. Mais la divulgation permet Microsoft de souligner avec magnanimit les problmes du code renforc d’un concurrent et de fliciter Google pour ses rparations rapides.
Source : Microsoft
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de cette vulnrabilit critique de ChromeOS ?
Que pensez-vous des mises en garde au sujet de la fonction strcpy() du langage C ?
Avez-vous dj rencontr des bogues lis l’utilisation de cette fonction dans vos applications ?
Voir aussi
La demande de Chromebook s’effondre alors que la pandmie s’attnue, selon un rapport de TrendForce