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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-40987 — CVE-2026-40987 PoC | Kitploit
ツール/GitHubGitHub/daehyuh/cve-2026-40987
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト論文と研究学習と教育
GitHubdaehyuh/cve-2026-40987

CVE-2026-40987

CVE-2026-40987 PoC

リポジトリを見る
2ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-40987: Spring Integration リモートファイル同期 Path Traversal PoC

このリポジトリは、Spring公式セキュリティアドバイザリで公開された CVE-2026-40987 の最小再現 PoC です。

  • 公式アドバイザリ: https://spring.io/security/cve-2026-40987/
  • 公式タイトル: Remote-file synchronizer in Spring Integration writes server-supplied filename under localDirectory without canonicalization
  • 重大度: High
  • CVSS v3.1: AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L
  • 公開日: 2026-06-10

脆弱性の概要

Spring Integration の remote-file synchronizer は、リモートサーバーが提供するファイル名をローカル保存パスの作成時にそのまま使用できました。このとき、canonical path 検証が不十分だと、悪意のある、または侵害された FTP/SFTP/SMB サーバーが ../escaped-by-ftp-list.txt のようなファイル名を返し、設定された localDirectory の外部にファイルを書き込ませることが可能です。

公式アドバイザリによると、これは FTP だけの問題ではなく、Spring Integration の FTP/SFTP/SMB リモートファイル同期シリーズに該当する問題です。この PoC は、その中でも FtpInboundFileSynchronizer を使用して、同じ脆弱な経路を最も小さく明確に再現します。

影響範囲

公式アドバイザリによる影響製品:

  • Spring Integration

影響バージョン:

  • 7.0.0 - 7.0.4
  • 6.5.0 - 6.5.8
  • 6.4.0 - 6.4.11
  • 6.3.0 - 6.3.14
  • 5.5.0 - 5.5.20
  • サポートが終了した旧バージョンも影響を受ける可能性があります

修正バージョン:

  • 7.0.5 または 7.0.4.1
  • 6.5.9 または 6.5.8.1
  • 6.4.12
  • 6.3.15
  • 5.5.21

この PoC が示すもの

テストは2つの経路を示します。

  1. SpringIntegrationRemoteFilePathTraversalTest

    • Spring Integration の共通 remote-file synchronizer 経路を直接再現します。
    • リモートファイル名が ../escaped-by-spring-integration.txt の場合、設定された local directory の外にファイルパスが作成されるかを確認します。
  2. SpringIntegrationFtpPathTraversalTest

    • テスト内で小さな悪意のあるFTPサーバーを実行します。
    • FTPサーバーの LIST 応答に ../escaped-by-ftp-list.txt を含めます。
    • Spring Integration の実際の FtpInboundFileSynchronizer がこのファイル名を受け取り、incoming/../escaped-by-ftp-list.txt をダウンロードし、結果のファイルが downloads ディレクトリの外に作成されることを確認します。

PoCの主要な流れは以下の通りです。

root@kitploit:~
configured localDirectory = <temp>/downloads
remote LIST filename      = ../escaped-by-ftp-list.txt
resulting local path      = <temp>/downloads/../escaped-by-ftp-list.txt
normalized location       = <temp>/escaped-by-ftp-list.txt

つまり、アプリケーションが意図したダウンロードディレクトリを超えてファイルを書き込むことができます。

実行方法

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

脆弱バージョンでの期待される結果:

root@kitploit:~
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

テストの成功は「脆弱な動作が再現された」ことを意味します。つまり、脆弱な依存関係ではテストが成功し、ディレクトリエスケープ書き込み動作を証明します。

ローカルで確認したバージョン

以下のコマンドで複数の脆弱バージョンを確認できます。

root@kitploit:~
.\mvnw.cmd "-Dspring-integration.version=6.4.10" test
.\mvnw.cmd "-Dspring-integration.version=6.5.8" test
.\mvnw.cmd "-Dspring-integration.version=7.0.4" test
.\mvnw.cmd "-Dspring-integration.version=7.1.0-RC1" test

このリポジトリのデフォルトは spring-integration.version=7.0.4 です。

なぜ危険なのか

この脆弱性は、攻撃者がクライアントアプリケーションのローカルファイルシステムに攻撃者制御のコンテンツを書き込めるようにする問題です。

攻撃者は、通常のHTTPクライアントではなく、アプリケーションが信頼してポーリングするリモートファイルサーバーの応答を操作できる必要があります。

したがって前提条件はありますが、条件が整えば以下のような影響が可能です。

  • アプリケーションの作業ディレクトリ内のファイルの作成または上書き
  • バッチ入力ディレクトリ、webルート、tempディレクトリなどへの攻撃者制御ファイルの配置
  • 後続の処理パイプラインと組み合わさると、さらに大きな整合性への影響

公式アドバイザリはこの問題をHighと評価しました。

クレジット

公式のSpringアドバイザリには、以下の研究者が責任を持って報告したことが記載されています。

  • M0untainShley
  • SharlongWen
  • daehyuh

参考リンク

  • Spring公式アドバイザリ: https://spring.io/security/cve-2026-40987/
  • CVSS calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L&version=3.1
ツールをダウンロード