Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-40987 — CVE-2026-40987 概念验证 | Kitploit
工具/GitHubGitHub/daehyuh/cve-2026-40987
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试论文与研究学习与教育
GitHubdaehyuh/cve-2026-40987

CVE-2026-40987

CVE-2026-40987 概念验证

查看仓库
2个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-40987: Spring Integration 远程文件同步路径遍历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的远程文件同步器在构建本地存储路径时,直接使用了远程服务器提供的文件名。此时,如果规范路径验证不足,恶意或受损的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展示的内容

测试展示了两个路径。

  1. SpringIntegrationRemoteFilePathTraversalTest

    • Spring Integration的通用远程文件同步器路径的直接复现。
    • 验证当远程文件名为../escaped-by-spring-integration.txt时,文件路径是否会超出配置的本地目录。
  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根目录、临时目录等位置
  • 若与后续处理管道结合,可能造成更大的完整性影响

官方公告将此问题评定为High。

Credit

官方Spring公告中记载了以下研究人员负责披露:

  • M0untainShley
  • SharlongWen
  • daehyuh

参考链接

  • Spring官方公告: https://spring.io/security/cve-2026-40987/
  • CVSS计算器: 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
下载工具