CVE-2026-102554 Google Guava 反序列化拒绝服务漏洞
影响攻击者可触发内存耗尽导致拒绝服务
Google Guava 在 Java 对象反序列化过程中存在资源分配无限制问题(CWE-770)。当反序列化 CompactHashMap、CompactHashSet 或 MapMakerInternalMap 实例时,Guava 会根据调用方指定的大小参数立即分配数组且不做限流,攻击者可通过构造的序列化流耗尽内存。
影响范围
Google Guava 4.0 至 33.7.1 版本,暂无更精确的受影响范围公开信息。
漏洞详情
漏洞类型为资源分配无限制或缺乏节流(CWE-770),成因是反序列化时依据序列化流中携带的大小参数直接分配数组,未对分配规模进行校验或限制。攻击者只需提供特制的序列化数据,使 Guava 在反序列化上述集合类型时申请超大数组,即可触发 OutOfMemoryError。
利用条件与风险
利用前提是目标应用使用受影响版本的 Guava 并反序列化不可信数据;实战中可造成服务内存耗尽、进程崩溃等拒绝服务后果。
修复建议
建议关注 Google Guava 官方发布的修复版本并升级;临时缓解措施包括避免反序列化不可信数据、对反序列化输入大小与来源进行限制和校验。
Allocation of resources without limits or throttling (CWE-770) during Java object deserialization in Google Guava versions 4.0 through 33.7.1 allows an attacker to cause a Denial of Service via OutOfMemoryError. When deserializing CompactHashMap, CompactHashSet, or MapMakerInternalMap instances, Guava eagerly allocates an array based on a caller-specified size parameter without throttling, permitting memory exhaustion from crafted serialization streams.