CVE-2025-60537CVE-2025-60537是kafka-ui(由provectus开发的一款用于Apache Kafka集群管理的Web UI工具)中存在的一个高危安全漏洞。该漏洞源于kafka-ui v0.6.0至v0.7.2版本中/kafka/ui/serdes/CustomSerdeLoader.java组件对用户输入数据缺乏充分的验证与过滤。攻击者可以通过向该组件提交精心构造的恶意数据,触发不当的输入验证逻辑,最终实现任意代码执行(Remote Code Execution, RCE)。
根据CVSS 3.1评分体系,该漏洞评分为6.5分,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何特权(PR:N),也无需用户交互(UI:N)。在影响方面,该漏洞对机密性(C:L)和完整性(I:L)均产生低级别影响,但不影响可用性(A:N)。这意味着攻击者可以在未经认证的情况下,通过远程网络发起攻击,成功利用后能够读取敏感数据并篡改系统内容。
kafka-ui作为一款广泛使用的Kafka管理工具,在企业内部的数据流监控、消息生产和消费管理等场景中扮演重要角色。该漏洞的存在使得任何能够访问kafka-ui Web界面的攻击者都可能获得服务器端的代码执行权限,进而威胁到整个Kafka集群的安全。由于kafka-ui通常部署在企业内部网络中,并可能包含对生产环境Kafka集群的管理权限,因此该漏洞的实际危害可能远超CVSS评分所反映的程度。
该漏洞已于2025年10月14日由MITRE组织披露,官方已发布修复版本。建议所有使用受影响版本的用户尽快升级到安全版本,以消除潜在的安全风险。
该漏洞的根本原因在于CustomSerdeLoader.java组件在处理用户提供的序列化/反序列化(Serde)配置数据时,未对输入内容进行严格的验证和过滤。kafka-ui允许用户通过Web界面配置自定义的Serde类,以便对特定的消息格式进行序列化和反序列化操作。然而,CustomSerdeLoader在加载用户指定的类时,未能有效限制可加载的类范围,也未对类路径或类名进行安全校验。
攻击者可以构造恶意的Serde配置数据,指定一个精心构造的类名或利用类加载机制加载远程恶意代码。当CustomSerdeLoader解析这些配置时,会触发Java的类加载器加载攻击者指定的类。由于缺乏安全沙箱和类加载限制,攻击者可以利用Java的反射机制或直接执行恶意代码,实现远程代码执行。
利用方式如下:攻击者首先访问kafka-ui的Web管理界面,在Serde配置区域提交包含恶意类引用的配置数据。CustomSerdeLoader在处理该配置时,会尝试加载并实例化指定的类,从而触发恶意代码的执行。整个攻击过程无需认证,无需用户交互,可通过网络远程完成。
该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N,表明这是一个通过网络可利用、无需特权和用户交互的漏洞,成功利用后会导致信息泄露和数据篡改。