Microsoft élimine les gremlins « Ncurses »

Microsoft élimine les gremlins « Ncurses »

"Microsoft élimine les Gremlins PlatoBlockchain Data Intelligence" Ncurses ". Recherche verticale. Aï.

Une bibliothèque de programmation largement utilisée appelée « ncurses » est infestée de gremlins malveillants, sous la forme de multiples vulnérabilités de corruption de mémoire qui donnent aux attaquants un moyen de cibler les applications exécutées sous macOS, Linux et FreeBSD.

Des chercheurs de Microsoft ont découvert les vulnérabilités de la bibliothèque, qui fournit essentiellement des API pour les interfaces utilisateur textuelles et les applications de terminal. Dans un rapport technique Cette semaine, des chercheurs de l'équipe de renseignement sur les menaces de l'entreprise ont décrit les bugs comme permettant des fuites de données, une élévation de privilèges et l'exécution de code arbitraire.

"Après avoir découvert les vulnérabilités de la bibliothèque ncurses, nous avons travaillé avec le responsable, Thomas E. Dickey, et Apple pour garantir que les problèmes étaient résolus sur toutes les plates-formes", ont déclaré les chercheurs. "L'exploitation des vulnérabilités de la bibliothèque ncurses pourrait avoir des conséquences notables pour les utilisateurs, permettant aux attaquants d'effectuer des actions malveillantes telles que l'élévation des privilèges pour exécuter du code dans le contexte d'un programme ciblé et accéder ou modifier des données et ressources précieuses."

Conséquences notables pour les utilisateurs

La bibliothèque ncurses est devenue disponible pour la première fois en 1993. Les programmeurs de différentes plates-formes l'utilisent relativement largement pour développer des interfaces utilisateur et des interfaces de terminaux en mode texte. La bibliothèque fournit des fonctions pour créer des fenêtres, manipuler du texte, gérer les entrées utilisateur, les couleurs et d'autres cas d'utilisation pour les applications d'interface utilisateur de terminal.

Les vulnérabilités découvertes par Microsoft étaient toutes des problèmes de corruption de mémoire dans les versions 6.4 20230408 ​​et antérieures de ncurses. Les failles désormais corrigées donnaient spécifiquement aux attaquants un moyen de manipuler – ou d'empoisonner – une variable d'environnement appelée TERMINFO que ncurses utilise pour rechercher les capacités d'un terminal et une autre appelée HOME qui décrit le chemin d'accès au répertoire personnel d'un utilisateur.

An variable d'environnement est une variable dont la valeur n'a pas besoin d'être codée en dur dans un programme. Par exemple, la variable d'environnement HOME spécifie l'emplacement du répertoire personnel sur le système d'un utilisateur spécifique. Au moment de l'exécution, un programme utiliserait la variable d'environnement HOME pour rechercher des informations ou une valeur associée à l'étiquette. Les variables d'environnement limitent le besoin de modifications de l'application à chaque fois que les informations de configuration changent, comme ce serait parfois le cas lorsqu'une application est utilisée dans différents environnements et par différents utilisateurs.

Technique bien connue

L'empoisonnement commun des variables d'environnement est une technique d'attaque bien connue dans laquelle les attaquants modifient les informations des variables d'environnement de manière à influencer négativement le comportement de l'application ou à provoquer son blocage. Les objectifs courants incluent l’élévation de privilèges, l’exécution de code arbitraire et le déclenchement de conditions de déni de service. Comme l'expliquent les chercheurs de Microsoft sur leur blog, il y a eu plusieurs cas de vulnérabilités ayant permis un empoisonnement des variables d'environnement dans le passé.

Un exemple cité par les chercheurs est CVE-2023-22809, une vulnérabilité dans l'utilitaire de ligne de commande sudo qui permet aux utilisateurs d'environnements de type Unix, y compris macOS, d'exécuter des programmes avec des privilèges élevés. La vulnérabilité provenait de la façon dont la variable EDITOR de sudo gérait les variables d'environnement fournies par l'utilisateur et donnait essentiellement aux attaquants un moyen d'écrire des fichiers arbitraires sur le système.

Comment supprimer la malédiction ncurses

Microsoft a découvert un total de cinq vulnérabilités de corruption de mémoire dans ncurses qui ont permis un tel empoisonnement de variables. Le responsable de la bibliothèque a publié un correctif pour les vulnérabilités collectivement identifiées comme CVE-2023-29491. Les développeurs doivent s'assurer que leurs bibliothèques sont à jour.

Les chercheurs de Microsoft ont également travaillé avec l'équipe de sécurité d'Apple pour résoudre les problèmes spécifiques à macOS liés aux vulnérabilités ncurses. Apple le 8 septembre a publié une mise à jour pour macOS Monterey qui a reconnu Microsoft pour avoir découvert et signalé le problème : les utilisateurs doivent mettre à jour les versions de leur système d'exploitation pour garantir qu'ils sont protégés contre les attaques. La société a décrit le problème comme donnant aux cyberattaquants un moyen de mettre fin aux applications en cours d'exécution ou d'exécuter du code arbitraire sur les systèmes concernés.

Pendant ce temps, Red Hat a évalué CVE-2023-29491 comme une menace de gravité moyenne. "Une vulnérabilité a été trouvée dans ncurses et se produit lorsqu'elle est utilisée par une application setuid", a indiqué la société. "Cette faille permet aux utilisateurs locaux de déclencher une corruption de mémoire liée à la sécurité via des données mal formées dans un fichier de base de données terminfo trouvé dans $HOME/.terminfo ou atteint via la variable d'environnement TERMINFO ou TERM."

Horodatage:

Plus de Lecture sombre