Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NotCVE-2026-0014 — Proof-of-Concept und Advisory für einen CWE-22-Pfad-Traversal im Drag-and-Drop-Handler von InputLeap, mit Reproduktionsschritten, Exploit-Skript und Hinweisen zur Behebung. | Kitploit
Tools/GitHubGitHub/cduram/notcve-2026-0014
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstests
GitHubcduram/notcve-2026-0014

NotCVE-2026-0014

Proof-of-Concept und Advisory für einen CWE-22-Pfad-Traversal im Drag-and-Drop-Handler von InputLeap, mit Reproduktionsschritten, Exploit-Skript und Hinweisen zur Behebung.

Repository anzeigen
17vor 15h 11mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Zusammenfassung

Produkt: InputLeap v3.0.3
Anbieter: input-leap
Schwachstelle: Path Traversal
CWE: CWE-22 Unsachgemäße Einschränkung eines Pfadnamens auf ein eingeschränktes Verzeichnis ('Path Traversal')

Beschreibung

Der Drag-and-Drop-Handler von InputLeap versucht, Dateinamen zu bereinigen, indem er das letzte Pfadtrennzeichen sucht und nur den Teil danach behält. Wenn kein Trennzeichen gefunden wird, gibt die C++-String-Suche einen speziellen Sentinel-Wert namens npos zurück, um einen Fehler anzuzeigen. Der Code prüft jedoch nie auf diesen Sentinel, bevor er das Ergebnis in arithmetischen Berechnungen verwendet. Da npos als die größtmögliche vorzeichenlose Ganzzahl definiert ist, führt die Subtraktion zu einem stillen Überlauf und erzeugt ein gültig aussehendes Ergebnis, das völlig falsch ist: Statt nur den Dateinamen zurückzugeben, wird die gesamte unbereinigte Originalzeichenkette zurückgegeben. Ein Angreifer kann dies ausnutzen, indem er eine Nachricht erstellt, bei der ein Eintrag kein Trennzeichen enthält, während ein anderer ein nicht übereinstimmendes enthält — die globale Trennzeichen-Erkennungsheuristik des Codes kippt um, die Suche schlägt still fehl, und ....\AppData...\Startup\evil.exe passiert unberührt. Diese Zeichenkette wird dann an das Drop-Verzeichnis angehängt und an das Betriebssystem übergeben, das die ..-Sequenzen interpretiert und die Datei außerhalb des vorgesehenen Ordners schreibt. Die Schwachstelle existiert, weil eine defensive Prüfung für den Fall „nicht gefunden" fehlt.

Schritte zur Reproduktion

  1. Aktivieren Sie --enable-drag-drop auf dem Ziel (Opt-in, standardmäßig AUS).
  2. Initiieren Sie als verbundener Peer eine Drag-and-Drop-Dateiübertragungsnachricht, deren eingebettete Dateinamendaten irgendwo im Puffer ein "/"-Zeichen enthalten (um slash="/" zu erzwingen), während das eigentliche Dateinamensegment "\"-Trennzeichen verwendet, z. B. durch Einbetten eines verirrten "/" weiter vorne im Datenblob und eines Dateinamens "..\..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\evil.exe".
  • DragInformation::parseDragInfo's find_last_of(slash, ...) gibt npos für den "\"-getrennten Dateinamenteil zurück, was einen vorzeichenlosen Arithmetik-Überlauf verursacht und den vollständigen ungekürzten Pfad zurückgibt.
  • DropHelper::writeToDir hängt diesen Pfad an das Drop-Zielverzeichnis des Benutzers (standardmäßig Desktop) an und schreibt die Datei ohne Kanonisierung, wodurch sie im Startup-Ordner landet.
  • Beim nächsten Login wird evil.exe als der Opferbenutzer ausgeführt.
  • Betroffener Code

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

    Proof-of-Concept oder nach Hause gehen

    Ein POC wurde bereitgestellt, der TLS- und Nicht-Krypto-Verbindungen zum Server unterstützt.

    input-leap-directory-traversal-poc.py

    Auswirkung

    Ein Angreifer kann diese Schwachstelle ausnutzen, um eine Datei an einen beliebigen Pfad außerhalb des Standard- oder zugewiesenen Ordners hochzuladen. Dies könnte zur Codeausführung führen

    Vorgeschlagene Behebung

    1. Ersetzen Sie in DragInformation::parseDragInfo die Slash-Erkennungsheuristik durch std::filesystem::path(filename).filename(), um sicherzustellen, dass nur der Basisname extrahiert wird.
    2. Kanonisieren Sie in DropHelper::writeToDir den endgültigen Pfad mit std::filesystem::canonical und lehnen Sie ihn ab, wenn er nicht mit destination beginnt.
    3. Lehnen Sie Dateinamen ab, die "..", NUL-Bytes, Laufwerksbuchstaben (X:) oder führende Trennzeichen enthalten.

    Offenlegungszeitplan

    • 27. Juli 2026 -- Versuch, an das InputLeap-Projekt zu melden, aber am Tag bevor ich mich meldete, wurde das Projekt archiviert. An NotCVE gemeldet.
    • 24. September 2026 -- NotCVE-2026-0014 veröffentlicht.
    Tool herunterladen