Une vulnérabilité dans la bibliothèque .NET Core permet de lancer des programmes malveillants tout en évitant la détection par un logiciel de sécurité.

Cette vulnérabilité est causée par un bogue Path Traversal dans la bibliothèque .NET Core de Microsoft qui permet aux utilisateurs malveillants de charger des DLL de récupération de place malveillantes.

Ce bogue affecte la dernière version stable (versions 3.1.x) de .NET Core. Un correctif n’est pas disponible actuellement et pourrait permettre aux attaquants d’exécuter du code malveillant sur un système sans être facilement détectés par les produits antivirus et EDR. 1

Découverte par Paul Laîné de Context Information Security, la vulnérabilité est possible pour deux raisons principales:

  • .NET Core vous permet d’utiliser une DLL personnalisée comme garbage collector

  • La variable d’environnement «COMPlus_GCName» utilisée pour spécifier un garbage collector .NET personnalisé n’est pas filtrée. Par conséquent, tous les caractères de traversée (../) fournis dans le chemin du ramasse-miettes ne sont pas filtrés.

.NET Core utilise un «garbage collector» pour allouer et libérer la mémoire système utilisée par une application .NET Core.

Il est cependant possible pour les utilisateurs de créer des récupérateurs de place personnalisés sous la forme de DLL qui seront chargées par une application de base .NET.

.NET Core, cependant, permet à tout utilisateur, y compris ceux disposant de faibles privilèges, de charger une DLL de ramasse-miettes personnalisée, même ceux contenant du code malveillant.

Exploiter ce bug

Avant d’exploiter cette faille, l’attaquant doit déjà avoir au moins un certain niveau d’accès au système pour définir les variables d’environnement. Cela signifie que cette faille serait utilisée de manière réaliste en conjonction avec un exploit existant, comme dans un scénario de chaînage de vulnérabilité.

Infos WEB:  En ce 50e Jour de la Terre, nous utilisons Internet pour changer le monde

La principale incitation pour un pirate à intégrer cette attaque dans sa boîte à outils serait d’empêcher que sa charge utile malveillante ne soit détectée par un logiciel de sécurité s’exécutant sur la machine compromise.

Pour exploiter ce bug, un attaquant créerait d’abord une poubelle personnalisée …

Voir la source de cette publication