Introduction

Une vulnérabilité a été découverte dans Notepad++, un éditeur de texte populaire, permettant l'exécution de code arbitraire sans confirmation de l'utilisateur. Cette faille de sécurité, identifiée comme CVE-2026-52884, est liée à un problème de traversal de chemin dans la validation des commandes.

Contexte Technique

La vulnérabilité se trouve dans la fonction isInTrustedDirectory() qui vérifie si le chemin d'exécutable résolu se trouve sous un répertoire de confiance. Cependant, cette fonction ne canonicalise pas le chemin avant de le vérifier, utilisant à la place une vérification de préfixe qui correspond aux chemins commençant par des chaînes de répertoires de confiance. Un attaquant peut ainsi utiliser une traversal de chemin en ajoutant ....\ après un préfixe de répertoire de confiance pour contourner la vérification.

Analyse et Implications

Cette faille de sécurité peut être exploitée de plusieurs manières, notamment via la modification du fichier de configuration shortcuts.xml, l'utilisation de raccourcis malveillants ou la synchronisation de cloud. Les attaquants peuvent ainsi exécuter des commandes arbitraires sans avertissement, ce qui peut conduire à des conséquences graves telles que la perte de données ou la prise de contrôle du système.

Perspective

Pour se protéger contre cette vulnérabilité, il est essentiel de mettre à jour Notepad++ vers la version patchée. Les utilisateurs doivent également être vigilants lors de l'exécution de commandes et de l'ouverture de fichiers provenant de sources inconnues. La correction de cette faille de sécurité implique la canonicalisation du chemin avant de le vérifier, ce qui peut être réalisé en utilisant des fonctions telles que PathCanonicalize() ou GetFullPathNameW().