Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-52886 — Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6) | Kitploit
Strumenti/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)

Vedi Repository
6 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Path Traversal: elusione del controllo del prefisso starts_with()

Notepad++ — Lettura arbitraria di file tramite traversal di backupFilePath in session.xml

Advisory

  • GHSA: GHSA-rqfm-pw34-r7j6
  • CVE: CVE-2026-52886
  • Gravità: Moderata
  • Versioni interessate: < v8.9.6.4
  • Versione corretta: v8.9.7
  • Commit della patch: 7e66f36
  • File interessato: PowerEditor/src/Notepad_plus.cpp (ripristino della sessione — validazione di backupFilePath)
  • Piattaforma: Windows 11 Pro x64
  • Privilegi richiesti: Utente standard (accesso in scrittura a session.xml)
  • Ricercatore: v3s9er (RAGE)
  • Divulgato: 2026-06-05

Riepilogo

Notepad++ valida l'attributo backupFilePath durante il ripristino della sessione utilizzando un confronto del prefisso sulla stringa grezza tramite std::wstring::starts_with(), senza normalizzare prima il percorso. Un percorso appositamente costruito che inizia con il prefisso legittimo della directory di backup ma contiene sequenze di traversal ..\ supera il controllo, ma viene risolto in una posizione arbitraria quando il sistema operativo apre il file — caricando il contenuto di qualsiasi file leggibile in una scheda dell'editor.

Panoramica tecnica

All'avvio con la modalità snapshot (backup) attiva, Notepad++ ripristina la sessione precedente da session.xml. Ci si aspetta che il backupFilePath di ogni voce risieda nella directory di backup dell'applicazione. Il controllo di integrità verifica solo che il percorso memorizzato inizi con la stringa della directory di backup attesa. Poiché il confronto avviene sulla stringa grezza, non normalizzata, un attaccante antepone il prefisso legittimo e poi esce dalla directory con sequenze ..\.

Causa principale

Il controllo verifica un prefisso testuale; l'uso apre il percorso risolto dal sistema operativo. I due percorsi non coincidono quando è presente ..\.

OperazioneSorgenteComportamento
CONTROLLOStringa grezza backupFilePathstarts_with(backupDir) — supera il controllo in caso di corrispondenza del prefisso
USOPercorso risolto dal sistema operativo

Scenario di attacco

Pre-condizione: accesso in scrittura a session.xml, modalità snapshot/backup attiva.

Passaggi:

  1. Sovrascrivi session.xml, iniettando un backupFilePath appositamente costruito: <backupDir>\..\..\..\..\Users\victim\.ssh\id_rsa
  2. Il prefisso <backupDir>\ soddisfa starts_with(), quindi la validazione viene superata.
  3. Avvia Notepad++ (viene attivato il ripristino della sessione).
  4. Il sistema operativo collassa le sequenze ..\; il file target viene aperto.
  5. Il contenuto del file arbitrario viene caricato in una scheda dell'editor.

Risultato: esfiltrazione in sola lettura — il contenuto del file target è visibile nell'editor, inclusi file sensibili come chiavi SSH, file di configurazione dell'ambiente e archivi di credenziali.

Impatto

  • Tipo: Lettura arbitraria di file (Path Traversal)
  • Admin richiesto: No
  • Richiesta UAC: No
  • Esposizione: chiavi private SSH, file .env / di configurazione, archivi di credenziali — qualsiasi file leggibile dall'utente
  • CWE: CWE-22 (Limitazione impropria di un nome di percorso a una directory ristretta)

Prova di concetto

Requisiti:

  • Notepad++ v8.9.6.2 portable x64 con configurazione backup/snapshot
  • Accesso in scrittura a session.xml
  • Un payload backupFilePath: prefisso della directory di backup + sequenze di traversal ..\ + percorso del file target

L'iniezione del percorso appositamente costruito e l'avvio dell'applicazione caricano il file target in una scheda dell'editor.

Analisi della patch

La correzione (commit 7e66f36) esegue una corretta normalizzazione del percorso prima della validazione, così le sequenze ..\ vengono collassate prima del confronto del prefisso — il percorso controllato e il percorso utilizzato ora coincidono.

Riferimenti

  • GHSA-rqfm-pw34-r7j6
  • CVE-2026-52886
  • Commit 7e66f36
  • Rilascio di Notepad++ v8.9.7
Scarica lo strumento
le sequenze ..\ collassano in una posizione arbitraria