CVE-2025-68480CVE-2025-68480是Marshmallow库中的一个拒绝服务漏洞。Marshmallow是一个轻量级的Python库,用于在复杂Python对象和简单数据类型之间进行转换。该漏洞存在于Schema.load()方法的many=True参数处理中,攻击者可以通过发送中等规模的请求来消耗不成比例的CPU时间,从而导致服务可用性下降。漏洞影响范围涵盖3.0.0rc1至3.26.2之前的所有3.x版本,以及4.0.0至4.1.2之前的所有4.x版本。攻击者无需认证即可利用此漏洞,通过构造特定格式的输入数据触发大量计算操作,最终可能导致应用程序响应缓慢或完全无法响应正常请求。
漏洞根源在于Marshmallow库的Schema.load()方法在处理many=True参数时的实现缺陷。当传入大量数据条目时,该方法会对每个数据条目执行反序列化操作,其中包括字段验证、类型转换和嵌套对象处理等计算密集型操作。攻击者可以通过构造包含大量嵌套字段或复杂验证规则的Schema,然后发送包含多个数据项的请求来触发此漏洞。由于每个数据项都需要经过完整的验证流程,CPU消耗会随数据量呈线性或超线性增长。具体来说,当使用Schema.load([...大量数据...], many=True)时,库会逐个处理数组中的每个元素,如果Schema定义了复杂的嵌套字段或自定义验证器,CPU消耗会显著增加。攻击者可以利用这一点,通过并发请求或大量单次请求来耗尽服务器资源。