【中危】Spring Kafka 反序列化漏洞 (CVE-2023-34040)

本文详细介绍了Spring Kafka的中危反序列化漏洞CVE-2023-34040,包括其危害、影响范围、OSCS和Spring Security Advisories平台的处置方案,以及如何进行排查。墨知社区提供了全面的软件供应链安全知识,包括漏洞分析、行业研究和最佳实践,旨在提升软件供应链安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://zhi.oscs1024.com/
zhi.oscs1024.com​​​​​
漏洞类型 反序列化 发现时间 2023-08-24 漏洞等级 中危
MPS编号 MPS-fed8-ocuv CVE编号 CVE-2023-34040 漏洞影响广度

漏洞危害

OSCS 描述
Spring Kafka 是 Spring Framework 生态系统中的一个模块,用于简化在 Spring 应用程序中集成 Apache Kafka 的过程,记录(record)指 Kafka 消息中的一条记录。
受影响版本中默认未对记录配置 ErrorHandlingDeserializer,当用户将容器属性 checkDeserExWhenKeyNull 或 checkDeserExWhenValueNull 设置为 true(默认未false),并且允许不受信任的源发布到 Kafka 主题中时,攻击者可将恶意 payload 注入到 Kafka 主题中,当反序列化记录头时远程执行任意代码。<
Apache Kafka是一个分布式流处理平台,它本身并不直接包含FasterXML Jackson-databind库。然而,如果你的应用程序依赖Kafka并且使用了Jackson库(包括Jackson-databind)来进行JSON数据的序列化和反序列化,那么可能会涉及到该库的安全问题。 针对FasterXML Jackson-databind的已知反序列化漏洞,通常需要采取以下步骤来修复: 1. **更新Jackson库**:检查你的项目是否使用的是受影响版本的Jackson-databind,如存在CVE漏洞(例如CVE-2019-14788)。如果有必要,升级到最新稳定版,官方会发布安全补丁。 2. **禁用自动解序列化**:由于某些攻击利用了自动构造函数注入的特性,可以配置Jackson禁用无参构造函数的自动创建。通过设置`ObjectMapper`的`DeserializationFeature.FAIL_ON_EMPTY_BEANS`属性为`true`。 ```java ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_EMPTY_BEANS, true); ``` 3. **限制敏感字段的访问**:对敏感数据进行适当的输入验证和过滤,避免恶意输入导致异常构造实例。 4. **启用安全模式**:在生产环境中,启用Jackson的安全模式(`MapperFeature.SAFE_MODE`),这将阻止未标记为JSON的字段被反序列化。 5. **审计日志**:记录并监控所有反序列化操作,以便在发现可疑活动时快速响应。 6. **代码审查**:确保代码中没有滥用Jackson库,特别是在解析来自不可信来源的数据时。 请注意,修复过程可能因应用的具体结构而异。在实际部署前,建议进行全面的安全评估和测试。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值