Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-52886 — Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6) | Kitploit
Outils/GitHubGitHub/v3s9er/cve-2026-52886
Vulnerability AnalysisExploitationData Exfiltration
GitHubv3s9er/cve-2026-52886

CVE-2026-52886

Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6)

Voir le dépôt
il y a 6 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Traversée de chemin : contournement de la vérification de préfixe starts_with()

Notepad++ — Lecture arbitraire de fichier via traversée de backupFilePath dans session.xml

Avis de sécurité

  • GHSA: GHSA-rqfm-pw34-r7j6
  • CVE: CVE-2026-52886
  • Gravité : Modérée
  • Versions affectées : < v8.9.6.4
  • Version corrigée : v8.9.7
  • Commit du correctif : 7e66f36
  • Fichier concerné : PowerEditor/src/Notepad_plus.cpp (restauration de session — validation de backupFilePath)
  • Plateforme : Windows 11 Pro x64
  • Privilège requis : utilisateur standard (accès en écriture à session.xml)
  • Chercheur : v3s9er (RAGE)
  • Divulgué : 2026-06-05

Résumé

Notepad++ valide l'attribut backupFilePath lors de la restauration de session en utilisant une comparaison de préfixe sur la chaîne brute via std::wstring::starts_with(), sans normaliser le chemin au préalable. Un chemin contrefait qui commence par le préfixe légitime du répertoire de sauvegarde mais contient des séquences de traversée ..\ passe la vérification, mais se résout vers un emplacement arbitraire lorsque le système d'exploitation ouvre le fichier — chargeant le contenu de n'importe quel fichier lisible dans un onglet de l'éditeur.

Aperçu technique

Au démarrage avec le mode instantané (sauvegarde) activé, Notepad++ restaure la session précédente depuis session.xml. Le backupFilePath de chaque entrée est censé se trouver sous le répertoire de sauvegarde de l'application. Le contrôle d'intégrité vérifie uniquement que le chemin stocké commence par la chaîne attendue du répertoire de sauvegarde. Comme la comparaison s'effectue sur la chaîne brute, non normalisée, un attaquant préfixe le préfixe légitime puis sort du répertoire avec des séquences ..\.

Cause racine

La vérification teste un préfixe textuel ; l'utilisation ouvre le chemin résolu par le système d'exploitation. Les deux divergent dès que ..\ est présent.

OpérationSourceComportement
VÉRIFICATIONChaîne backupFilePath brutestarts_with(backupDir) — passe si le préfixe correspond
UTILISATIONChemin résolu par l'OS

Scénario d'attaque

Condition préalable : accès en écriture à session.xml, mode instantané/sauvegarde activé.

Étapes :

  1. Écraser session.xml en injectant un backupFilePath contrefait : <backupDir>\..\..\..\..\Users\victim\.ssh\id_rsa
  2. Le préfixe <backupDir>\ satisfait starts_with(), la validation passe donc.
  3. Lancer Notepad++ (la restauration de session se déclenche).
  4. L'OS réduit les séquences ..\ ; le fichier cible est ouvert.
  5. Le contenu du fichier arbitraire est chargé dans un onglet de l'éditeur.

Résultat : exfiltration en lecture seule — le contenu du fichier cible est visible dans l'éditeur, y compris les fichiers sensibles tels que les clés SSH, les fichiers de configuration d'environnement et les coffres d'identifiants.

Impact

  • Type : lecture arbitraire de fichier (traversée de chemin)
  • Admin requis : non
  • Invite UAC : non
  • Exposition : clés privées SSH, fichiers .env / de configuration, coffres d'identifiants — tout fichier lisible par l'utilisateur
  • CWE : CWE-22 (limitation incorrecte d'un nom de chemin à un répertoire restreint)

Preuve de concept

Prérequis :

  • Notepad++ v8.9.6.2 portable x64 avec configuration de sauvegarde/instantané
  • Accès en écriture à session.xml
  • Une charge utile backupFilePath : préfixe du répertoire de sauvegarde + séquences de traversée ..\ + chemin du fichier cible

L'injection du chemin contrefait et le lancement de l'application chargent le fichier cible dans un onglet de l'éditeur.

Analyse du correctif

Le correctif (commit 7e66f36) effectue une normalisation appropriée du chemin avant la validation, de sorte que les séquences ..\ sont réduites avant la comparaison de préfixe — le chemin vérifié et le chemin utilisé correspondent désormais.

Références

  • GHSA-rqfm-pw34-r7j6
  • CVE-2026-52886
  • Commit 7e66f36
  • Notepad++ v8.9.7
Télécharger l’outil
Les séquences ..\ se résolvent vers un emplacement arbitraire