
Preuve de concept d'exploitation pour la fuite d'informations FUSE du noyau Linux (CVE-2024-44947), démontrant la divulgation de mémoire au-delà de la fin de fichier (EOF) via mmap et incluant l'analyse du dump mémoire.
Description: Dans le noyau Linux, la vulnérabilité suivante a été résolue : fuse : Initialiser le contenu des pages au-delà de la fin du fichier avant de les marquer comme à jour. fuse_notify_store(), contrairement à fuse_do_readpage(), n'active pas la mise à zéro des pages (car elle peut être utilisée pour modifier partiellement le contenu d'une page). Ainsi, fuse_notify_store() doit être plus soigneuse pour initialiser complètement le contenu des pages (y compris les parties de la page qui sont au-delà de la fin du fichier) avant de marquer la page comme à jour. Le code actuel peut laisser le contenu des pages au-delà de la fin du fichier non initialisé, ce qui rend ce contenu non initialisé visible pour l'espace utilisateur via mmap(). Il s'agit d'une fuite d'informations, mais qui n'affecte que les systèmes n'activant pas l'initialisation à l'allocation (via CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y ou le paramètre de ligne de commande du noyau correspondant).
Augmentation du dump mémoire : La taille du dump mémoire a été doublée à 8 pages, offrant une vue plus étendue des fuites potentielles.
Moteur heuristique : Introduction d'un moteur heuristique simple qui analyse la mémoire dumpée à la recherche de motifs spécifiques, tels que les en-têtes "HTTP", les en-têtes "ELF" et d'autres structures de données connues. Cela permet d'identifier et de catégoriser plus efficacement les données divulguées.
Opérations FUSE améliorées : Ajout d'une opération FUSE plus complexe avec une charge utile plus grande pour augmenter les chances de déclencher la vulnérabilité dans diverses conditions.
Éléments de randomisation et dynamiques : Le PoC inclut une randomisation dans certaines opérations pour simuler différents scénarios et potentiellement déclencher des résultats variés, rendant l'exploit plus robuste.
Analyse mémoire détaillée : Le PoC effectue désormais une analyse détaillée du dump mémoire, affichant les valeurs hexadécimales et identifiant les fuites de données potentielles par correspondance heuristique.
gcc -o fuse_poc_advanced fuse_poc_advanced.c
sudo ./fuse_poc_advanced
Ce PoC amélioré est conçu pour les utilisateurs avancés et les chercheurs, offrant un cadre plus complet pour enquêter et exploiter la vulnérabilité FUSE. Il comprend des éléments dynamiques, une gestion avancée de la mémoire et une analyse heuristique, ce qui le rend adapté aux scénarios d'analyse détaillée des vulnérabilités et d'exploitation.