
Modèle Python éducatif démontrant l'escalade de privilèges par suivi de lien CVE-2025-47181 dans Microsoft Edge. Simule l'abus de liens symboliques, la redirection d'écriture de fichier par processus de confiance et les défis de détection pour l'apprentissage en cybersécurité.
Ce dépôt présente le Concept CVE-2025-47181, un programme Python conçu pour illustrer le mécanisme et l'impact de CVE-2025-47181. Il s'agit d'une vulnérabilité d'élévation de privilèges dans Microsoft Edge (basé sur Chromium), classée comme « Résolution de lien incorrecte avant l'accès au fichier ('link following') » (CWE-59). Cette vulnérabilité permet à un attaquant local autorisé d'élever ses privilèges sur le système.
Ce programme ne contient pas de code d'exploitation réel pour CVE-2025-47181. Il modélise plutôt les étapes fondamentales d'une attaque de « suivi de lien » :
Le but principal de ce projet est éducatif : aider à comprendre le concept des vulnérabilités de « suivi de lien », comment elles peuvent conduire à une élévation de privilèges, et l'importance des pratiques de gestion sécurisée des fichiers et d'une surveillance robuste du système en cybersécurité.
CE CODE EST UN MODÈLE CONCEPTUEL UNIQUEMENT. IL NE CONTIENT PAS DE CODE D'EXPLOITATION RÉEL ET NE DOIT PAS ÊTRE UTILISÉ POUR TENTER DES ATTAQUES DANS LE MONDE RÉEL.
Le Concept CVE-2025-47181 modélise les étapes suivantes :
Le programme configure un répertoire conceptuel (C:\EdgeUpdater\Temp\) qui représente un emplacement où une application privilégiée (comme le programme de mise à jour de Microsoft Edge) pourrait créer des fichiers temporaires avec des privilèges élevés.
Un attaquant, opérant avec des privilèges d'utilisateur standard, crée un lien symbolique (SYMLINK_NAME) à l'intérieur de ce répertoire temporaire de confiance conceptuel. Ce lien symbolique pointe vers un fichier ou répertoire système sensible (TARGET_SENSITIVE_FILE) qui nécessite normalement des privilèges plus élevés pour être modifié (par exemple, une DLL dans System32).
Le programme modélise ensuite l'application de confiance (le programme de mise à jour d'Edge) tentant d'écrire un fichier temporaire légitime (FILE_TO_BE_WRITTEN_BY_EDGE) dans son répertoire temporaire de confiance. En raison de la vulnérabilité de « résolution de lien incorrecte » (CWE-59), l'opération d'écriture de l'application de confiance « suit » involontairement le lien symbolique malveillant, ce qui fait que son écriture privilégiée se produit à l'emplacement cible du lien symbolique (le ).
Ce programme illustre comment un défaut dans la résolution des chemins de fichiers peut être exploité par des attaquants pour contourner les contrôles d'accès et élever les privilèges.
Assurez-vous d'avoir un environnement Python 3 installé. Ce programme de base utilise uniquement des bibliothèques Python standard (os, time, sys, shutil). Notez que la création de liens symboliques sous Windows nécessite souvent des autorisations utilisateur spécifiques ou le mode développeur activé.
python --version
Clonez ce dépôt :
git clone [https://github.com/your-username/CVE_2025_47181_Concept.git](https://github.com/your-username/CVE_2025_47181_Concept.git)
cd CVE_2025_47181_Concept
Le projet se compose d'un seul script Python :
cve_2025_47181_exploit_concept.py
Ce fichier contient le code source complet du modèle conceptuel d'élévation de privilèges par « suivi de lien ».
Exécutez le script principal :
python cve_2025_47181_exploit_concept.py
Le script affichera sa progression dans la console, illustrant :
Vous pouvez modifier les paramètres suivants au début de cve_2025_47181_exploit_concept.py pour expérimenter différents scénarios :
SYSTEM_VULNERABLE : Défini sur True pour que l'écriture basée sur le lien symbolique réussisse (modélisation d'un système vulnérable). Défini sur False pour modéliser un système patché où le lien symbolique n'est pas suivi ou l'écriture est empêchée.EDGE_TEMP_DIR_ROOT : Le répertoire racine conceptuel où opère le processus de confiance.ATTACK_TEMP_DIR : Un répertoire contrôlé par l'attaquant où le lien symbolique peut être créé (cela dépend souvent des capacités locales de l'attaquant).TARGET_SENSITIVE_FILE : Un chemin conceptuel vers un fichier sensible nécessitant des privilèges élevés pour être modifié.MALICIOUS_CONTENT : Le contenu que l'attaquant souhaite conceptuellement écrire dans le fichier sensible.SYMLINK_NAME : Le nom du lien symbolique créé par l'attaquant.FILE_TO_BE_WRITTEN_BY_EDGE : Le nom du fichier que l'application de confiance a l'intention d'écrire.MONITOR_LOG_FILE : Le chemin du fichier journal conceptuel où SystemMonitor enregistre les événements.Ce programme, inspiré par CVE-2025-47181, met en évidence les mesures défensives critiques contre les vulnérabilités de « suivi de lien » et les attaques similaires sur le système de fichiers :
Le Concept CVE-2025-47181 peut être étendu à des fins éducatives plus détaillées :
TARGET_SENSITIVE_FILESi le fichier système sensible est écrasé ou modifié avec succès par l'opération d'écriture de l'application de confiance, cela démontre qu'un attaquant à faibles privilèges a conceptuellement atteint une élévation de privilèges. Il a utilisé les privilèges de l'application de confiance pour modifier un fichier qu'il ne pouvait autrement pas modifier.
SystemMonitor)Une classe SystemMonitor est incluse pour modéliser comment les outils de sécurité (par exemple, EDR, surveillance de l'intégrité des fichiers) pourraient détecter des activités suspectes, telles que la création de liens symboliques vers des chemins sensibles ou des écritures inattendues dans des répertoires système protégés.