平台
java
组件
org.apache.kafka:kafka-clients
修复版本
3.9.2
4.0.2
4.1.2
3.9.2
Apache Kafka Java 客户端存在一个竞争条件,位于缓冲区池管理中。当网络请求包含已过期的 produce batch,而 batch 尚未完全发送时,该 batch 的 ByteBuffer 会被过早地释放并返回到缓冲区池。如果后续的 producer batch(可能目标 topic 不同)重用此释放的 buffer,则 buffer 内容可能会被损坏,导致消息被发送到错误的 topic。此漏洞影响 Kafka Clients 2.8.0 到 4.1.1 版本,已在 4.2.0 版本中修复。
Apache Kafka Clients 中的 CVE-2026-35554 影响了 Java 生产者中的缓冲区池管理。这是一种竞争条件,在特定情况下,可能导致消息被静默地发送到错误的 topic。当 produce batch 因 delivery timeout (delivery.timeout.ms) 过期,而包含该 batch 的网络请求仍在进行时,会发生这种情况。该 batch 的 ByteBuffer 会过早地 deallocate 并返回到缓冲区池。如果后续的生产者 batch(可能目标是不同的 topic)在原始网络请求完成之前重用此释放的 buffer,则原始 batch 的数据可能会被写入错误的 topic,而不会有任何错误通知。
利用此漏洞需要一种环境,其中 delivery timeout 足够长,以便允许竞争条件发生。攻击者可能会尝试向不同的 topic 发送大量消息,利用 buffer 重用将消息发送到未经授权的 topic。利用的难度取决于网络配置和系统负载。利用的可能性被认为是低到中等,但对数据完整性的潜在影响是重大的。建议对特定环境中的漏洞进行渗透测试。
漏洞利用状态
EPSS
0.04% (11% 百分位)
CVSS 向量
CVE-2026-35554 的主要缓解措施是升级到 Apache Kafka Clients 版本 3.9.2 或更高版本。此版本修复了缓冲区池管理中的竞争条件。作为临时措施,请考虑降低 delivery.timeout.ms 的值。这将降低 batch 在网络请求完成之前过期,但可能会增加交付延迟的可能性。定期监控 Kafka 日志,以查找任何异常行为,例如消息出现在意外的 topic 中。应优先应用补丁,以防止潜在的数据完整性问题。
Actualice a Apache Kafka Clients versión 3.9.2 o superior, 4.0.2 o superior, 4.1.2 o superior, o 4.2.0 o superior para mitigar la vulnerabilidad de corrupción de mensajes y enrutamiento incorrecto debido a una condición de carrera en el pool de búferes.
漏洞分析和关键警报直接发送到您的邮箱。
它是 Kafka 生产者用于在将消息发送到 broker 之前存储消息的 buffer(内存区域)的集合。其目的是优化性能。
版本 3.9.2 包含此漏洞的修复程序,消除了竞争条件并防止消息静默地发送到错误的 topic。
当程序的执行结果取决于多个进程或线程执行的顺序时,就会发生错误。
检查 Kafka 客户端的版本。如果您使用的是 3.9.2 之前的版本,则很可能受到影响。
作为临时措施,降低 delivery.timeout.ms 的值并监控 Kafka 日志以查找异常情况。
上传你的 pom.xml 文件,立即知道是否受影响。