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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-84178 — 针对 CVE-2026-84178 的可运行概念验证复现程序,该漏洞是 Apache Camel camel-oauth 授权码回调中的登录 CSRF,会在未验证 state 的情况下兑换授权码。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-84178
漏洞分析Web应用程序漏洞利用Web安全身份验证学习与教育
GitHuboscerd/cve-2026-84178

CVE-2026-84178

针对 CVE-2026-84178 的可运行概念验证复现程序,该漏洞是 Apache Camel camel-oauth 授权码回调中的登录 CSRF,会在未验证 state 的情况下兑换授权码。

查看仓库
20小时1分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-84178 — camel-oauth:授权码回调登录 CSRF(缺少 state)

针对 Apache Camel 漏洞的可运行概念验证复现程序。该漏洞中,OAuth 授权码回调未携带 state 参数将其与发起流程的授权请求绑定,也未对其进行校验。因此,在任意浏览器中获取的授权码都可以在回调处被兑换,并关联到提交该回调的任意会话——登录跨站请求伪造:受害者会在不知情的情况下以攻击者控制的身份登录,导致受害者后续的操作和数据落入攻击者的账户。(同一个未校验的回调还允许影响认证后的重定向目标——即开放重定向。)正如公告所述,state 校验在授权码兑换之前执行,因此无需与身份提供方进行任何交互即可触发该差异。

运行时目录技术栈
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-oauth 4.22.0(受影响;修复版本 4.22.1),回调通过 camel-undertow
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-oauth 3.39.0(Camel 4.22.0,受影响;修复对照版本 3.40.0 / Camel 4.22.1),回调通过 camel-quarkus-platform-http

两个模块均演示了受影响和修复后的行为。

演示内容

真实、未经修改的 OAuthCodeFlowCallback 处理器负责处理回调端点。一个极小的 stub OAuth 被注册到 Camel registry 中,使回调无需真实身份提供方即可运行——它仅替代 IdP,并记录授权码何时被兑换(在真实流程中,兑换会将生成的标识绑定到提交会话)。攻击者只需携带 code 且无匹配的 state 访问回调:

  • 受影响:回调兑换攻击者提供的授权码并将标识绑定到会话——HTTP 302(登录成功)。stub 记录该兑换。
  • 修复后:回调以 HTTP 400 "No authorization code flow in progress" 拒绝(它要求 state 与此会话发起的授权请求匹配)——授权码永远不会被兑换。
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

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

Request: GET /callback?code=ATTACKER-SUPPLIED-AUTH-CODE   (no 'state' parameter)
Callback HTTP status: 302
>>> PROVEN: the callback redeemed the authorization code ... WITHOUT verifying a state parameter ... login CSRF.

漏洞摘要

属性值
组件camel-oauth(授权码回调,OAuthCodeFlowCallback)
CWECWE-352(跨站请求伪造)
严重程度中危
攻击向量携带授权码的回调请求,其 state 未与会话的授权请求绑定
影响登录 CSRF(受害者以攻击者控制的身份登录);来自受信任源的开放重定向
受影响版本从 4.11.0 起至 4.18.5 之前,从 4.19.0 起至 4.22.1 之前
修复版本4.18.5、4.22.1、4.23.0
JIRACAMEL-24437
致谢Claude Security Scan Tool

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

修复方案

回调现在会携带并验证一个一次性 state 参数,该参数与会话发起的授权请求绑定:expectedState = session.removeValue(OAUTH_STATE),并与 state 查询参数进行(恒定时间)比较。如果没有正在进行的流程,或 state 不匹配,回调会在兑换授权码之前拒绝该请求。

无法升级时的缓解措施

将回调置于强制实施 CSRF state 绑定的组件之后,或在能够升级之前,不要依赖 OAuth 授权码流程回调来建立会话。

免责声明

本仓库出于教育和防御目的发布:帮助 Apache Camel 用户理解该漏洞、验证自身是否受影响,并确认升级可解决该问题。桩身份提供程序和“攻击者代码”均为无实际作用的本地测试夹具。请勿将本材料用于您不拥有或运营的系统。

下载工具