Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-52886 — Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() パストラバーサル(GHSA-rqfm-pw34-r7j6) | Kitploit
ツール/GitHubGitHub/v3s9er/cve-2026-52886
脆弱性分析エクスプロイトデータ流出
GitHubv3s9er/cve-2026-52886

CVE-2026-52886

Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() パストラバーサル(GHSA-rqfm-pw34-r7j6)

リポジトリを見る
426日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

パストラバーサル: starts_with() プレフィックスチェックのバイパス

Notepad++ — session.xml の backupFilePath トラバーサルによる任意ファイル読み取り

アドバイザリ

  • GHSA: GHSA-rqfm-pw34-r7j6
  • CVE: CVE-2026-52886
  • 深刻度: Moderate
  • 影響を受けるバージョン: < v8.9.6.4
  • 修正済みバージョン: v8.9.7
  • 修正コミット: 7e66f36
  • 影響を受けるファイル: PowerEditor/src/Notepad_plus.cpp (セッション復元 — backupFilePath 検証)
  • プラットフォーム: Windows 11 Pro x64
  • 必要な権限: 標準ユーザー (session.xml への書き込みアクセス)
  • 研究者: v3s9er (RAGE)
  • 公開日: 2026-06-05

概要

Notepad++ はセッション復元時に、std::wstring::starts_with() による生の文字列プレフィックス比較を使って backupFilePath 属性を検証しますが、その前にパスを正規化しません。正規のバックアップディレクトリプレフィックスで始まりながらも ..\ トラバーサルシーケンスを含む巧妙に細工されたパスはチェックを通過し、OS がファイルを開くときには任意の場所に解決されます — 読み取り可能な任意のファイルの内容がエディタタブに読み込まれます。

技術概要

スナップショット(バックアップ)モードを有効にして起動すると、Notepad++ は session.xml から前回のセッションを復元します。各エントリの backupFilePath は、アプリケーションのバックアップディレクトリ配下にあることが期待されます。整合性ゲートは、保存されたパスが期待されるバックアップディレクトリ文字列で始まることだけをチェックします。この比較は生の正規化されていない文字列に対して行われるため、攻撃者は正規のプレフィックスを先頭に付加し、..\ シーケンスでディレクトリの外へ移動できます。

根本原因

チェックはテキスト上のプレフィックスを検査しますが、使用時には OS が解決したパスが開かれます。..\ が存在すると、この2つは一致しなくなります。

操作対象挙動
チェック生の backupFilePath 文字列starts_with(backupDir) — プレフィックス一致で通過
使用OS 解決後のパス..\ シーケンスが任意の場所に畳み込まれる

攻撃シナリオ

前提条件: session.xml への書き込みアクセス、スナップショット/バックアップモードが有効であること。

手順:

  1. session.xml を上書きし、細工した backupFilePath を注入する: <backupDir>\..\..\..\..\Users\victim\.ssh\id_rsa
  2. プレフィックス <backupDir>\ が starts_with() を満たすため、検証を通過する。
  3. Notepad++ を起動する(セッション復元がトリガーされる)。
  4. OS が ..\ シーケンスを畳み込み、対象ファイルが開かれる。
  5. 任意のファイルの内容がエディタタブに読み込まれる。

結果: 読み取り専用の窃取 — SSH 鍵、環境設定ファイル、資格情報ストアなどの機密ファイルを含め、対象ファイルの内容がエディタに表示される。

影響

  • 種別: 任意ファイル読み取り (パストラバーサル)
  • 管理者権限の要否: 不要
  • UAC プロンプト: なし
  • 曝露対象: SSH 秘密鍵、.env / 設定ファイル、資格情報ストア — ユーザーが読み取れる任意のファイル
  • CWE: CWE-22 (限定されたディレクトリへのパス名の不適切な制限)

概念実証

要件:

  • バックアップ/スナップショット設定が有効な Notepad++ v8.9.6.2 ポータブル x64
  • session.xml への書き込みアクセス
  • backupFilePath ペイロード: バックアップディレクトリプレフィックス + ..\ トラバーサルシーケンス + 対象ファイルのパス

細工したパスを注入してアプリケーションを起動すると、対象ファイルがエディタタブに読み込まれます。

パッチ分析

修正 (コミット 7e66f36) では、検証前に適切なパス正規化が行われるため、プレフィックス比較の前に ..\ シーケンスが畳み込まれます — チェックされるパスと使用されるパスが一致するようになります。

参照

  • GHSA-rqfm-pw34-r7j6
  • CVE-2026-52886
  • Commit 7e66f36
  • Notepad++ v8.9.7 リリース
ツールをダウンロード