MessagePack 允许不受信任的数据因哈希冲突和堆栈溢出而导致 DoS 攻击(CVE-2024-48924)
CVE编号
CVE-2024-48924利用情况
暂无补丁情况
N/A披露时间
2024-10-18漏洞描述
### 影响当此库用于从不受信任的源反序列化MessagePack数据时,攻击者可能会通过发送精心制作的数据来制造哈希碰撞,从而导致CPU消耗与反序列化数据的大小不成比例,存在拒绝服务攻击的风险。这与先前的公告相似,该公告针对哈希碰撞部分的漏洞提供了不充分的修复方案。### 修复方案要减轻此风险,需要采取以下步骤:1. 升级到存在修复方案的库版本。2. 查看此先前公告中的步骤,以确保您的应用程序已针对不受信任的数据进行配置。### 替代方案如果您无法升级MessagePack到修复版本,可以采用以下手动替代方案:1. 声明一个继承自MessagePackSecurity的类。2. 重写GetHashCollisionResistantEqualityComparer<T>方法来提供自己的防碰撞哈希函数,避免调用base.GetHashCollisionResistantEqualityComparer<T>()。3. 通过在现有选项对象上调用WithSecurity来配置一个MessagePackSerializerOptions的实例,并使用您的派生类型的一个实例。4. 在所有反序列化操作中使用您的自定义选项对象。这可能通过设置MessagePackSerializer的DefaultOptions静态属性(如果您调用的方法依赖于此默认属性),或者显式将选项对象传递给任何Deserialize方法来实现。### 参考信息* 了解在使用MessagePack 1.x或MessagePack 2.x时读取不受信任数据的最佳安全实践。* .NET团队关于其HashCode结构的哈希碰撞漏洞的讨论。### 获取更多信息如果您对此公告有任何疑问或评论:* 开始公开讨论* 通过电子邮件私下联系我们([你的电子邮件地址])解决建议
"将组件 messagepack 升级至 3.0.214-rc.1 及以上版本""将组件 messagepack 升级至 2.5.187 及以上版本"- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
CWE-328 | 可逆的单向哈希 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论