Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-79984 — 针对 CVE-2026-79984 的可运行概念验证复现程序,该漏洞是 Apache Camel camel-mina-sftp 中的路径遍历漏洞,包含恶意 SFTP 服务器测试夹具以及受影响版本与修复版本的构建。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-79984
防御工具漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHuboscerd/cve-2026-79984

CVE-2026-79984

针对 CVE-2026-79984 的可运行概念验证复现程序,该漏洞是 Apache Camel camel-mina-sftp 中的路径遍历漏洞,包含恶意 SFTP 服务器测试夹具以及受影响版本与修复版本的构建。

查看仓库
22天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-79984 — camel-mina-sftp:消费者根据服务器目录列表构建远程路径,且未做包含性校验

针对 Apache Camel 漏洞的可运行概念验证复现程序。在该漏洞中,mina-sftp 消费者——与其他远程文件消费者一样派生自同一个 RemoteFileConsumer 基类——通过将配置的目录与服务器目录列表中报告的名称拼接,来构建每个轮询文件的绝对远程路径,且不做词法规范化,也不做包含性校验。该路径随后成为检索操作的操作数(始终如此),并在配置了 delete=true、move、preMove、moveFailed 或 readLock=rename 时,成为删除或重命名操作的操作数。

SFTP 目录条目名称是由服务器提供的原始协议字符串,因此被攻陷的、恶意的或多租户的服务器可以报告一个并非单一路径段的名称。

这是 CVE-2026-79983(camel-ftp)的 mina-sftp 同类漏洞;两者 具有相同的根本原因和相同的修复方案。

运行时目录技术栈
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-mina-sftp 4.22.0(受影响;修复版本 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-mina-sftp 3.39.0(Camel 4.22.0,受影响;修复对照版本 3.40.0 / Camel 4.22.1)

camel-mina-sftp 是在 Camel 4.18.0 中引入的,因此该组件并不存在于最新编号的 Camel Quarkus 所捆绑的 Camel 4.15.0 中;本复现程序使用 Camel Quarkus 3.39.0(Camel 4.22.0,受影响),并以 3.40.0(Camel 4.22.1)作为已修补的对照版本。因此,两个模块既演示了受影响的行为,也演示了 修复后的行为。

演示内容

该应用内嵌了一个故意构造的恶意 SFTP 服务器(Apache MINA SSHD)。它提供一个真实的临时目录树,但在其 SSH_FXP_READDIR 回复中,将轮询目录 /upload 中某个文件的名称改写为路径穿越字符串 d/../../outside.txt(通过覆盖 getShortName 实现)。该名称不以点开头,因此 Camel 的隐藏文件规则不会拦截它,而 /upload + d/../../outside.txt 会解析为 /outside.txt,即轮询目录的上一级。一个普通的 mina-sftp 消费者轮询 /upload。

  • 受影响版本:它会同时检索 normal.txt 和逃逸的 /outside.txt。
  • 修复版本:它会保留 normal.txt 并跳过逃逸条目,同时记录日志 Skipping file as it resolves outside the starting directory: upload/d/../../outside.txt。
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

受影响构建上的预期输出:

    name=[d/../../outside.txt]  <<< FILE FROM OUTSIDE THE POLLED DIRECTORY
        content: OUTSIDE-SECRET (/outside.txt, a file the consumer should never reach)
    name=[normal.txt]  (inside)

漏洞摘要

属性值
组件camel-mina-sftp(mina-sftp scheme)
CWECWE-22(对路径名的限制不恰当导致受限目录访问)
严重性高
攻击向量一个不是单一路径段的 READDIR 条目名称(由服务器提供)
影响读取——以及在使用 delete/move/readLock=rename 时,删除或重命名——轮询目录之外的文件,使用端点的凭据
受影响版本从 4.18.0 到 4.18.5 之前,从 4.19.0 到 4.22.1 之前
修复版本4.18.5、4.22.1、4.23.0
JIRACAMEL-24487
致谢来自上海交通大学 NSSL 的 Dilrevx

公告:https://camel.apache.org/security/CVE-2026-79984.html

修复

GenericFileConsumer.isWithinStartingDirectory(由 RemoteFileConsumer 重写,mina-sftp 消费者派生自后者)会压缩解析后的路径,并在路径段边界上验证其保持在轮询目录内;解析到目录之外的条目会被跳过并发出警告,而合法条目仍会继续处理。

无法升级时的缓解措施

验证服务器主机密钥,使用 filter/antInclude/include 约束消费者仅接受单段名称,并避免对列表不完全可信的服务器使用 delete/move/preMove/moveFailed/readLock=rename。在可能的情况下,将服务器账户限制在轮询目录内。

免责声明

本仓库出于教育和防御目的发布:帮助 Apache Camel 用户理解该漏洞、验证自己是否受影响,并确认升级可以解决该问题。恶意服务器和“secret”均为无实际危害的本地测试夹具。请勿将本材料用于您不拥有或运营的系统。

下载工具