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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-71300 — 针对 Apache Camel camel-atmosphere-websocket 调度头注入(CVE-2026-71300)的概念验证复现器,演示注入的头如何将 WebSocket 消息重定向到攻击者选择的接收者。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-71300
漏洞分析漏洞利用Web应用程序漏洞利用论文与研究学习与教育
GitHuboscerd/cve-2026-71300

CVE-2026-71300

针对 Apache Camel camel-atmosphere-websocket 调度头注入(CVE-2026-71300)的概念验证复现器,演示注入的头如何将 WebSocket 消息重定向到攻击者选择的接收者。

查看仓库
9小时13分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-71300 — camel-atmosphere-websocket 调度头注入

针对 Apache Camel 漏洞的可运行概念验证复现程序,其中 camel-atmosphere-websocket producer 从名称位于 Camel 命名空间之外的 websocket.* Exchange 头中选择其 WebSocket 收件人 — 因此 HTTP HeaderFilterStrategy(只剥离 Camel* / camel*)会放行这些头,外部发送者便能够接管 producer 的调度决策。

RuntimeDirectoryStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-atmosphere-websocket 4.18.2

Camel Quarkus: 不存在 camel-quarkus-atmosphere-websocket 扩展,因此该组件无法在 Camel Quarkus 上运行 — 该复现程序仅支持 Spring Boot。

它演示了什么

一条路由将 HTTP consumer 桥接到 atmosphere-websocket producer,通过自行设置 websocket.connectionKey 头,将每条 HTTP 消息投递给一个固定的 WebSocket 收件人(即“受害者”)。但 WebsocketProducer.process 在单键头之前先测试列表头 websocket.connectionKey.list,而该带点名称不在 Camel 命名空间中,因此 HTTP 头过滤器不会剥离它。于是,注入的 websocket.connectionKey.list 头会从请求传入 Exchange 并覆盖固定的收件人 — 本应发送给受害者的消息转而投递到攻击者选择的连接。

root@kitploit:~
POST /notify ──► setHeader(websocket.connectionKey = victim) ──► atmosphere-websocket producer ──► victim peer
   │                                                                        ▲
   └─ injected header  websocket.connectionKey.list: <attacker key>  ───────┘  (tested first → wins)

关于测试平台。 atmosphere WebSocket 运行时需要 servlet 容器的 WebSocket 升级以及框架自身的初始化,这些无法由普通的独立 Spring Boot 应用驱动。因此,本复现程序通过真实的 HTTP 入口来运行真正的 WebsocketProducer 调度逻辑 — 只有两个连接的对端是直接注册到端点 WebSocketStore 中的替身(就像 atmosphere 框架注册真实浏览器连接那样)。头过滤器绕过和 producer 的调度优先级 — 即实际漏洞 — 均被真实地验证。

root@kitploit:~
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

受影响构建的预期输出:

root@kitploit:~
1) Benign POST /notify (no injected header):
     victim received:   [hello for the victim]
     attacker received: []
2) Injected POST /notify with header 'websocket.connectionKey.list: attacker-connection-key':
     victim received:   []
     attacker received: [private data meant for the victim, ...]
>>> PROVEN: ... delivering a message meant for the victim to an attacker-chosen WebSocket connection instead: true

漏洞摘要

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

修复方案

调度头常量已被重命名到 Camel 命名空间中 — CamelAtmosphereWebsocketConnectionKey、CamelAtmosphereWebsocketConnectionKeyList、CamelAtmosphereWebsocketSendToAll — 这样 HTTP HeaderFilterStrategy 会在传输边界剥离它们,外部发送者便无法再注入。相关的 camel-undertow websocket 路径由 CVE-2026-78329 覆盖。

免责声明

本仓库仅出于教育和防御目的发布:帮助 Apache Camel 用户了解该漏洞、验证其是否受影响,并确认升级能够解决该问题。请勿将本材料用于针对你不拥有或无权操作的系统。

下载工具
属性值
组件camel-atmosphere-websocket (camel-atmosphere-websocket-starter)
CWECWE-20(输入验证不当)→ CWE-74(注入)
攻击向量在桥接到 atmosphere-websocket producer 的请求上注入 websocket.connectionKey.list(或 websocket.connectionKey / websocket.sendToAll)头
影响接管 producer 的调度决策 — 向任意 WebSocket 对端投递 / 扣留消息
受影响版本4.0.0 至 4.14.9 之前,4.15.0 至 4.18.4 之前,4.19.0 至 4.22.0 之前
修复版本4.14.9、4.18.4、4.22.0
JIRACAMEL-24359
发现者Barak Srour (Apiiro)