Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
NotCVE-2026-0014 — Proof-of-concept e advisory per una path traversal CWE-22 nel gestore drag-and-drop di InputLeap, con passaggi di riproduzione, script di exploit e indicazioni di remediation. | Kitploit
Strumenti/GitHubGitHub/cduram/notcve-2026-0014
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHubcduram/notcve-2026-0014

NotCVE-2026-0014

Proof-of-concept e advisory per una path traversal CWE-22 nel gestore drag-and-drop di InputLeap, con passaggi di riproduzione, script di exploit e indicazioni di remediation.

Vedi Repository
1715h 11m 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

Riepilogo

Prodotto: InputLeap v3.0.3
Fornitore: input-leap
Vulnerabilità: Path Traversal
CWE: CWE-22 Limitazione impropria di un percorso a una directory ristretta ('Path Traversal')

Descrizione

Il gestore del drag-and-drop di InputLeap tenta di sanificare i nomi dei file individuando l'ultimo separatore di percorso e mantenendo solo la parte successiva. Quando non viene trovato alcun separatore, la ricerca sulla stringa C++ restituisce un valore sentinella speciale chiamato npos per indicare un fallimento. Tuttavia, il codice non verifica mai questo sentinella prima di utilizzare il risultato in calcoli aritmetici. Poiché npos è definito come il più grande intero senza segno possibile, sottraendolo si verifica un wraparound silenzioso che produce una risposta dall'aspetto valido ma completamente errata: invece di restituire solo il nome del file, restituisce l'intera stringa originale non sanificata. Un attaccante può sfruttare questo comportamento creando un messaggio in cui una voce è priva di separatore mentre un'altra ne contiene uno non corrispondente — l'euristica globale di rilevamento dei separatori del codice si inverte, la ricerca fallisce silenziosamente e ....\AppData...\Startup\evil.exe passa inalterato. Quella stringa viene poi concatenata alla directory di destinazione e consegnata al sistema operativo, che interpreta le sequenze .. e scrive il file al di fuori della cartella prevista. La vulnerabilità esiste perché manca un controllo difensivo per il caso "non trovato".

Passaggi per la riproduzione

  1. Abilitare --enable-drag-drop sul target (opt-in, disattivato per impostazione predefinita).
  2. In qualità di peer connesso, avviare un messaggio di trasferimento file tramite drag-and-drop i cui dati del nome file incorporato contengano un carattere "/" da qualche parte nel buffer (per forzare slash="/") mentre il segmento effettivo del nome file utilizza separatori "\", ad esempio incorporando uno "/" estraneo all'inizio del blob di dati e un nome file "..\..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\evil.exe".
  • find_last_of(slash, ...) di DragInformation::parseDragInfo restituisce npos per la porzione del nome file separata da "\", causando un wraparound aritmetico senza segno e restituendo il percorso completo non troncato.
  • DropHelper::writeToDir concatena questo percorso alla directory di destinazione del drop dell'utente (predefinita Desktop) e scrive il file senza alcuna canonicalizzazione, facendolo finire nella cartella Startup.
  • Al login successivo, evil.exe viene eseguito come utente vittima.
  • Codice interessato

    /src/lib/inputleap/DragInformation.cpp
    /src/lib/inputleap/DropHelper.cpp

    Proof-of-Concept o niente

    È stato fornito un POC che supporta connessioni TLS e senza crittografia al server.

    input-leap-directory-traversal-poc.py

    Impatto

    Un attaccante può sfruttare questa vulnerabilità per caricare un file in un percorso arbitrario al di fuori della cartella predefinita o assegnata. Ciò potrebbe portare all'esecuzione di codice

    Remediation suggerita

    1. In DragInformation::parseDragInfo, sostituire l'euristica di rilevamento dello slash con std::filesystem::path(filename).filename() per garantire che venga estratto solo il basename.
    2. In DropHelper::writeToDir, canonicalizzare il percorso finale con std::filesystem::canonical e rifiutare se non inizia con destination.
    3. Rifiutare i nomi file contenenti "..", byte NUL, lettere di unità (X:) o separatori iniziali.

    Cronologia della divulgazione

    • 27 luglio 2026 -- Tentativo di segnalazione al progetto InputLeap, ma il giorno prima del mio contatto il progetto è stato archiviato. Segnalato a NotCVE.
    • 24 settembre 2026 -- NotCVE-2026-0014 pubblicato.
    Scarica lo strumento