Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
NotCVE-2026-0014 — InputLeapのドラッグアンドドロップハンドラにおけるCWE-22パストラバーサルのPoCおよびアドバイザリ。再現手順、エクスプロイトスクリプト、および修復ガイダンスを含む。 | Kitploit
ツール/GitHubGitHub/cduram/notcve-2026-0014
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubcduram/notcve-2026-0014

NotCVE-2026-0014

InputLeapのドラッグアンドドロップハンドラにおけるCWE-22パストラバーサルのPoCおよびアドバイザリ。再現手順、エクスプロイトスクリプト、および修復ガイダンスを含む。

リポジトリを見る
1715時間11分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

概要

製品: InputLeap v3.0.3
ベンダー: input-leap
脆弱性: パストラバーサル
CWE: CWE-22 パス名の制限されたディレクトリへの不適切な制限(「パストラバーサル」)

説明

InputLeapのドラッグ&ドロップハンドラーは、最後のパス区切り文字を探してその後の部分だけを保持することで、ファイル名をサニタイズしようとします。区切り文字が見つからない場合、C++の文字列検索は失敗を示すnposと呼ばれる特別な番兵値を返します。しかし、コードはこの番兵値をチェックせずに、その結果を算術計算で使用します。nposは符号なし整数の最大値として定義されているため、これを減算すると暗黙的にラップアラウンドし、完全に間違っているにもかかわらず有効に見える答えが生成されます。つまり、ファイル名だけを返す代わりに、サニタイズされていない元の文字列全体を返してしまいます。攻撃者はこれを悪用できます。あるエントリには区切り文字がなく、別のエントリには一致しない区切り文字が含まれるメッセージを作成すると、コードのグローバルな区切り文字検出ヒューリスティックが反転し、検索がサイレントに失敗し、..\..\AppData\...\Startup\evil.exeがそのまま通過します。その後、この文字列がドロップディレクトリに連結されてOSに渡され、OSは..シーケンスを解釈して、意図したフォルダの外にファイルを書き込みます。この脆弱性は、「見つからない」ケースに対する防御的チェックが欠けているために存在します。

再現手順

  1. ターゲットで--enable-drag-dropを有効にします(オプトイン、デフォルトはOFF)。
  2. 接続されたピアとして、埋め込まれたファイル名データのバッファ内のどこかに「/」文字を含む(スラッシュを「/」に強制するため)ドラッグ&ドロップのファイル転送メッセージを開始します。一方、実際のファイル名セグメントは「\」区切り文字を使用します。例えば、データブロブの前半に stray な「/」を埋め込み、ファイル名を「..\..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\evil.exe」とします。
  3. DragInformation::parseDragInfoのfind_last_of(slash, ...)が、「\」で区切られたファイル名部分に対してnposを返し、符号なし算術のラップアラウンドを引き起こして、切り詰められていない完全なパスを返します。
  4. DropHelper::writeToDirがこのパスをユーザーのドロップ先ディレクトリ(デフォルトはデスクトップ)に連結し、正規化なしでファイルを書き込み、Startupフォルダに配置します。
  5. 次回のログイン時に、evil.exeが被害者ユーザーとして実行されます。

影響を受けるコード

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

Proof-of-Concept or Go Home

サーバーへのTLS接続と非暗号化接続をサポートするPOCが提供されています。

input-leap-directory-traversal-poc.py

影響

攻撃者はこの脆弱性を悪用して、デフォルトまたは割り当てられたフォルダの外の任意のパスにファイルをアップロードできます。これによりコード実行につながる可能性があります

推奨される修正

  1. DragInformation::parseDragInfoで、スラッシュ検出ヒューリスティックをstd::filesystem::path(filename).filename()に置き換え、ベース名のみが抽出されることを保証します。
  2. DropHelper::writeToDirで、最終パスをstd::filesystem::canonicalで正規化し、destinationで始まらない場合は拒否します。
  3. 「..」、NULバイト、ドライブレター(X:)、または先頭の区切り文字を含むファイル名を拒否します。

開示タイムライン

  • 2026年7月27日 -- InputLeapプロジェクトに報告を試みましたが、私が連絡する前日にプロジェクトがアーカイブされました。NotCVEに報告しました。
  • 2026年9月24日 -- NotCVE-2026-0014が公開されました。
ツールをダウンロード